Skip to content

feat: Ability to add additional Exemplar metadata#2105

Closed
jaydeluca wants to merge 74 commits into
mainfrom
exemplar-labels
Closed

feat: Ability to add additional Exemplar metadata#2105
jaydeluca wants to merge 74 commits into
mainfrom
exemplar-labels

Conversation

@jaydeluca
Copy link
Copy Markdown
Collaborator

Resolves #1994

@jaydeluca jaydeluca changed the title Ability to add additional Exemplar labels feat: Ability to add additional Exemplar labels May 8, 2026
@jaydeluca jaydeluca changed the title feat: Ability to add additional Exemplar labels feat: Ability to add additional Exemplar metadata May 8, 2026
jaydeluca and others added 28 commits June 4, 2026 15:09
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…e7c4 (#2104)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| eclipse-temurin | final | digest | `671061a` → `9c9e7c4` |
| eclipse-temurin |  | digest | `671061a` → `9c9e7c4` |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mise](https://redirect.github.com/jdx/mise) | patch | `v2026.5.0` →
`v2026.5.5` |

---

### Release Notes

<details>
<summary>jdx/mise (mise)</summary>

###
[`v2026.5.5`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.5):
: Inactive upgrades, Windows bash and bunx fixes

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.4...v2026.5.5)

A grab-bag release: a new `--inactive` flag for catching
installed-but-unconfigured tools, several Windows fixes around `bunx`
and the `bash` task shell, and correctness fixes for the npm shim, aqua
bin-path resolution, and dotnet prereleases.

#### Added

- **(outdated/upgrade)** New `--inactive` flag on `mise outdated` and
`mise upgrade` that includes installed-but-inactive tools — versions you
have installed but that aren't referenced by the current config
([#&#8203;9640](https://redirect.github.com/jdx/mise/pull/9640)) by
[@&#8203;roele](https://redirect.github.com/roele). Useful for cleaning
up or upgrading old tool installs:

  ```sh
# show every installed tool that has a newer version, even if it's not
in mise.toml
  mise outdated --inactive

  # upgrade an installed-but-inactive tool to its current latest
  mise upgrade tiny --inactive
  ```

When a tool has no config source, `--inactive` resolves against the
backend's latest version rather than the pinned installed version.

#### Fixed

- **(node)** The generated npm shim now invokes
`<this-install>/bin/node` directly instead of `node` from `PATH`.
Previously, running one Node install's `npm` while a different Node
version was active could let npm derive its global prefix from the other
install, sending default packages to the wrong place
([#&#8203;9749](https://redirect.github.com/jdx/mise/pull/9749)) by
[@&#8203;jdx](https://redirect.github.com/jdx).

- **(bun, Windows)** `mise install bun` on Windows now creates a `bunx`
entry alongside `bun.exe`, matching what the upstream PowerShell
installer does. mise tries a `bunx.exe -> bun.exe` hardlink first (bun
switches to bunx mode based on argv\[0]) and falls back to a `bunx.cmd`
shim. `reshim` picks it up automatically, so `bunx <pkg>` finally works
under mise-managed bun on Windows
([#&#8203;9732](https://redirect.github.com/jdx/mise/pull/9732)) by
[@&#8203;JamBalaya56562](https://redirect.github.com/JamBalaya56562).

- **(task, Windows)** When a task uses `shell = "bash -c"` and mise is
invoked from PowerShell, `C:\Windows\System32\bash.exe` (the WSL
launcher) used to win the `PATH` search, silently running the task body
inside a WSL Linux user-space where mise-managed Windows tools aren't
visible. mise now resolves bash in this order: `MISE_BASH_PATH`, common
Git Bash install locations (`C:\Program Files\Git\bin\bash.exe`, the x86
variant, `%LOCALAPPDATA%\Programs\Git\bin\bash.exe`), the existing PATH
search, and finally an explicit reject of the WSL launcher with a
warning ([#&#8203;9750](https://redirect.github.com/jdx/mise/pull/9750))
by [@&#8203;JamBalaya56562](https://redirect.github.com/JamBalaya56562).
`sh`/`zsh`/`fish`/`ksh`/`dash` and non-Windows builds are unaffected.

- **(aqua)** Aqua `list_bin_paths()` correctly handles packages whose
actual git tags add an extra `v` after a version prefix (e.g.
`tool-v1.2.3` for canonical `1.2.3`), without putting remote resolution
back on the bin-path hot path that was reverted in
[#&#8203;5574](https://redirect.github.com/jdx/mise/issues/5574).
Install passes the already-resolved tag/version directly into file-link
creation instead of recomputing it
([#&#8203;9759](https://redirect.github.com/jdx/mise/pull/9759)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

- **(dotnet)** The dotnet backend now uses the shared `prerelease =
true` tool option used by aqua/github, fetches the NuGet prerelease
superset, and skips the latest fast paths when prereleases are enabled.
The global `prereleases` setting and the deprecated
`dotnet.package_flags = ["prerelease"]` continue to work
([#&#8203;9720](https://redirect.github.com/jdx/mise/pull/9720)) by
[@&#8203;risu729](https://redirect.github.com/risu729):

  ```sh
MISE_EXPERIMENTAL=1 mise ls-remote
'dotnet:GitVersion.Tool[prerelease=true]'
  ```

#### Registry

- Added `scalafmt`
([github:scalameta/scalafmt](https://redirect.github.com/scalameta/scalafmt))
— the official Scala formatter
([#&#8203;9757](https://redirect.github.com/jdx/mise/pull/9757)) by
[@&#8203;pokir](https://redirect.github.com/pokir).
- Removed `flarectl`: upstream `cloudflare/cloudflare-go` no longer
ships release binaries (the existing registry test was already commented
out) ([#&#8203;9756](https://redirect.github.com/jdx/mise/pull/9756)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- Removed 49 registry shorthands with zero recorded users (bbr, brig,
btrace, carp, clarinet, cli53, concourse, conduit, copper, credhub,
datree, djinni, dome, draft, dtm, envcli, esy, glen, grain, inlets,
kcctl, ki, kp, krab, kube-credential-cache, kubefedctl, kubefirst,
kubemqctl, kwt, lab, lane, levant, melt, opsgenie-lamp, pachctl,
psc-package, purerl, redo, rke, sinker, soracom, starboard, sver,
terradozer, titan, uaa-cli, wasm4, wren-cli, zbctl)
([#&#8203;9725](https://redirect.github.com/jdx/mise/pull/9725)) by
[@&#8203;jdx](https://redirect.github.com/jdx). Tools added in 2026 were
skipped, and any of these can still be installed with explicit backend
syntax (e.g. `mise use aqua:cloudfoundry/uaa-cli`).

#### Documentation

- **(secrets)** Document that direct age encryption requires
experimental mode, that age decryption is strict by default, and that
`age.strict=false` skips undecryptable values and keeps resolving the
environment
([#&#8203;9737](https://redirect.github.com/jdx/mise/pull/9737)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(tasks)** Add a bash shebang to the conditional-dependencies example
([#&#8203;9747](https://redirect.github.com/jdx/mise/pull/9747)) by
[@&#8203;JamBalaya56562](https://redirect.github.com/JamBalaya56562).
- Backend tool option docs: document S3 support for `size`,
`strip_components`, `bin`, and `rename_exe`; add `no_app` to GitLab and
Forgejo; clarify that GitHub-family `api_url` covers release lookup and
private/self-hosted API downloads, not just version listing
([#&#8203;9738](https://redirect.github.com/jdx/mise/pull/9738)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

#### New Contributors

- [@&#8203;pokir](https://redirect.github.com/pokir) made their first
contribution in
[#&#8203;9757](https://redirect.github.com/jdx/mise/pull/9757)

**Full Changelog**:
<jdx/mise@v2026.5.4...v2026.5.5>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.4`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.4):
: Java on Alpine, faster pwsh exits

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.3...v2026.5.4)

A small release that smooths out Java installs on Alpine, makes pwsh
shell activation noticeably snappier, and cleans up `ibmcloud`'s `$PATH`
footprint.

#### Added

- **(java)** Automatic musl detection on Alpine Linux
([#&#8203;9688](https://redirect.github.com/jdx/mise/pull/9688)) by
[@&#8203;roele](https://redirect.github.com/roele). Java versions on
Alpine no longer require an explicit `-musl` feature suffix —
`mise-java` now exposes an `alpine-linux` OS containing the musl builds,
and mise selects it automatically when running on a musl libc. So this:

  ```sh
  mise use java@corretto-25
  ```

picks the Alpine/musl Corretto build on Alpine, and `-musl`-suffixed
versions (e.g. `corretto-musl-25`) continue to resolve for backwards
compatibility.

#### Fixed

- **(registry)** `ibmcloud` now uses `symlink_bins`, so only the
`ibmcloud` binary is placed on `$PATH` instead of the entire install
directory. This prevents the bundled `install` binary from shadowing
`/usr/bin/install`
([#&#8203;9685](https://redirect.github.com/jdx/mise/pull/9685)) by
[@&#8203;dnwe](https://redirect.github.com/dnwe).

#### Performance

- **(pwsh)** Activation no longer spawns a fresh `pwsh -NoProfile
-Command exit $status` (or `powershell` on PS 5) after every hook just
to propagate mise's exit code — it now assigns `$global:LASTEXITCODE =
$status` directly. On a typical machine that's \~270ms (`pwsh`) or
\~185ms (`powershell`) shaved off every prompt
([#&#8203;9723](https://redirect.github.com/jdx/mise/pull/9723)) by
[@&#8203;vemoo](https://redirect.github.com/vemoo).

#### Changed

- **(schema)** `xtasks/render/schema.ts` no longer overwrites
`$defs.task_template` and the trailing `$defs.task.oneOf` branch on
every `mise run render:schema`; those shapes already live in
`schema/mise.json`, with lightweight guard checks remaining
([#&#8203;9680](https://redirect.github.com/jdx/mise/pull/9680)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

#### Aqua Registry Updates

New packages:

-
[`DataDog/managed-kubernetes-auditing-toolkit`](https://redirect.github.com/DataDog/managed-kubernetes-auditing-toolkit)
- `oracle.com/sqlcl`

Updated packages:

-
[`alltuner/mise-completions-sync`](https://redirect.github.com/alltuner/mise-completions-sync)
- [`iann0036/iamlive`](https://redirect.github.com/iann0036/iamlive)
- [`pnpm/pnpm`](https://redirect.github.com/pnpm/pnpm)

**Full Changelog**:
<jdx/mise@v2026.5.3...v2026.5.4>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.3`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.3):
: Aqua latest from GitHub releases

[Compare
Source](https://redirect.github.com/jdx/mise/compare/vfox-v2026.5.2...v2026.5.3)

A small patch release that fixes how the aqua backend resolves `latest`
for tools backed by GitHub releases.

#### Fixed

- **(aqua)** Resolve `latest` via GitHub's latest-release endpoint
instead of walking the chronological tag list, so `mise use
<tool>@&#8203;latest` and similar requests pick the upstream "latest"
release rather than the newest tag. Packages using `version_source =
github_tag` continue to use the existing tag-based fallback, and
`before_date` / `minimum_release_age` settings still bypass the fast
path. Tag-to-version normalization (version prefixes, leading `v`, asset
checks) is now shared across remote listing, install lookup, and latest
resolution
([#&#8203;9277](https://redirect.github.com/jdx/mise/pull/9277)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

**Full Changelog**:
<jdx/mise@v2026.5.2...v2026.5.3>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.2`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.2):
: Stable monorepo task roots, fail-fast parallel tasks, and curated
lockfiles

[Compare
Source](https://redirect.github.com/jdx/mise/compare/vfox-v2026.5.1...vfox-v2026.5.2)

#### Added

- **(aqua)** Support registry libc variants (`gnu` vs `musl`) when
resolving package overrides on Linux, including cross-platform lock
targets like `linux-x64-musl`
([#&#8203;9652](https://redirect.github.com/jdx/mise/pull/9652)) by
[@&#8203;jdx](https://redirect.github.com/jdx).
- **(aqua)** Honor aqua registry `files[].link` and `files[].hard`
entries, creating relative symlink (or hard link) aliases next to
extracted binaries so tools that inspect `$0`/`argv[0]` (e.g.
`granted`/`assumego`, newer `pnpm`) launch correctly
([#&#8203;9610](https://redirect.github.com/jdx/mise/pull/9610)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(bin-paths)** New `mise bin-paths --bin-names` flag prints
executable names from active bin directories, and `--json` now emits
structured entries with `name`, `path`, and `symlink`
([#&#8203;9617](https://redirect.github.com/jdx/mise/pull/9617)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(task)** Added `MISE_MONOREPO_ROOT` env var pointing at the
directory of the config with `experimental_monorepo_root = true`
([#&#8203;9657](https://redirect.github.com/jdx/mise/pull/9657)) by
[@&#8203;jdx](https://redirect.github.com/jdx).
- **(registry)** Added `code-review-graph` via `pipx:code-review-graph`
([#&#8203;9673](https://redirect.github.com/jdx/mise/pull/9673)) by
[@&#8203;chautruonglong](https://redirect.github.com/chautruonglong).

#### Fixed

- **(task)** Parallel `mise run --jobs N` siblings now terminate
promptly when one task fails, via per-task process groups and `killpg`,
with a 10s pipe-drain timeout
([#&#8203;9655](https://redirect.github.com/jdx/mise/pull/9655)) by
[@&#8203;jdx](https://redirect.github.com/jdx).
- **(task)** `MISE_PROJECT_ROOT` for monorepo subproject tasks is now
stable regardless of invocation cwd
([#&#8203;9657](https://redirect.github.com/jdx/mise/pull/9657)) by
[@&#8203;jdx](https://redirect.github.com/jdx).
- **(install)** Don't force a remote-versions cache refresh in
`prefer_offline` mode; fixes a v2026.5.0 regression with shim
auto-install of `prefix:` requests
([#&#8203;9627](https://redirect.github.com/jdx/mise/pull/9627)) by
[@&#8203;jdx](https://redirect.github.com/jdx).
- **(lockfile)** Auto-lock during `mise install` now respects
user-curated lockfiles — removed platforms stay removed
([#&#8203;9621](https://redirect.github.com/jdx/mise/pull/9621)) by
[@&#8203;jdx](https://redirect.github.com/jdx).
- **(lock)** `mise lock` from a nested project scopes targets to the
active project root and stops churning parent lockfiles; `--global` is
now exclusive
([#&#8203;9319](https://redirect.github.com/jdx/mise/pull/9319)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(deps)** Fall through to source-hash freshness when a provider
returns no outputs, so `bundle install`, `pip install`, `go mod
download`, `poetry install`, and `uv sync` stop rerunning on every
invocation
([#&#8203;9622](https://redirect.github.com/jdx/mise/pull/9622)) by
[@&#8203;jdx](https://redirect.github.com/jdx).
- **(backend)** Inline tool option overrides (e.g.
`tool[asset_pattern=...]`) are now applied consistently across all
backends, with backend alias `[...]` options as a distinct overlay layer
([#&#8203;9306](https://redirect.github.com/jdx/mise/pull/9306)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(backend)** Skip the `mise-versions` host when locally overridden
tool options affect remote version listing
([#&#8203;9568](https://redirect.github.com/jdx/mise/pull/9568)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(backend)** Reject bare package-backend names like `cargo` and `gem`
as implicit `cargo:cargo`/`gem:gem` tools
([#&#8203;9608](https://redirect.github.com/jdx/mise/pull/9608)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(aqua)** Preserve configured file extensions (e.g. `.bat` scripts)
on Windows; avoid doubling `version_prefix`
([#&#8203;9611](https://redirect.github.com/jdx/mise/pull/9611)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(github)** Chmod only the explicitly configured `bin` target instead
of every archive file
([#&#8203;9609](https://redirect.github.com/jdx/mise/pull/9609)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(pipx)** Filter yanked PyPI releases from fuzzy/`latest` resolution
while keeping exact pinned installs available
([#&#8203;9607](https://redirect.github.com/jdx/mise/pull/9607)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(pipx)** Declare `python` as a backend dependency so `pipx.pyz`
resolves to mise-managed Python
([#&#8203;9678](https://redirect.github.com/jdx/mise/pull/9678)) by
[@&#8203;jdx](https://redirect.github.com/jdx).
- **(trust)** Run `enter` hooks after `mise trust` newly trusts a config
for the current directory
([#&#8203;9634](https://redirect.github.com/jdx/mise/pull/9634)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(ui)** Stop clearing the screen for confirmation prompts like `mise
prune` ([#&#8203;9619](https://redirect.github.com/jdx/mise/pull/9619))
by [@&#8203;jdx](https://redirect.github.com/jdx).
- Use `/bin/cp` on macOS for `mise sync` so it doesn't break when GNU
`cp` from Homebrew shadows it on `PATH`
([#&#8203;9656](https://redirect.github.com/jdx/mise/pull/9656)) by
[@&#8203;pdehlke](https://redirect.github.com/pdehlke).
- **(schema)** Update refs to `$defs` in `mise-registry-tool.json`
([#&#8203;9671](https://redirect.github.com/jdx/mise/pull/9671)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

#### Changed

- **(registry)** Removed registry-level `depends` from generated
registry tools and added `test.tools` for tools whose dependencies are
only needed by `mise test-tool`
([#&#8203;9571](https://redirect.github.com/jdx/mise/pull/9571)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(config)** Registry backend options now accept full TOML values
(booleans, integers, arrays, tables) instead of strings only
([#&#8203;9584](https://redirect.github.com/jdx/mise/pull/9584)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

#### Documentation

- **(node)** Added tips for enabling node idiomatic version files
([#&#8203;9675](https://redirect.github.com/jdx/mise/pull/9675)) by
[@&#8203;fu050409](https://redirect.github.com/fu050409).

#### New Contributors

- [@&#8203;chautruonglong](https://redirect.github.com/chautruonglong)
made their first contribution in
[#&#8203;9673](https://redirect.github.com/jdx/mise/pull/9673)
- [@&#8203;pdehlke](https://redirect.github.com/pdehlke) made their
first contribution in
[#&#8203;9656](https://redirect.github.com/jdx/mise/pull/9656)

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.1`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.1):
: Aqua cosign and a reshim rescue

[Compare
Source](https://redirect.github.com/jdx/mise/compare/vfox-v2026.5.0...vfox-v2026.5.1)

A small follow-up to v2026.5.0 that lands top-level cosign verification
for the aqua backend, fixes a `mise reshim` failure caused by stale
`latest` install directories, and tightens schema validation.

#### Added

- **(backend)** The aqua backend now honors top-level `cosign` metadata
when verifying packages, covering both checksum and artifact flows and
reusing the existing native sigstore path. Lockfiles record top-level
cosign provenance, with new e2e and lockfile regression coverage
([#&#8203;9111](https://redirect.github.com/jdx/mise/pull/9111)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(registry)** Added `wasm-tools` via
`aqua:bytecodealliance/wasm-tools` for working with the WebAssembly
Component Model
([#&#8203;9596](https://redirect.github.com/jdx/mise/pull/9596)) by
[@&#8203;2xdevv](https://redirect.github.com/2xdevv).

#### Fixed

- **(shim)** `mise reshim` no longer aborts with `failed to rebuild
shims: no versions found for <tool>` when an install directory literally
named `latest` (or any other non-resolvable name) is left on disk.
`Toolset::list_installed_versions` already reads concrete version
directory names, so it now constructs `ToolVersion` directly instead of
calling `.resolve()` (no network), and per-tool `ToolRequest::new`
failures are warned-and-skipped instead of aborting the entire rebuild
([#&#8203;9599](https://redirect.github.com/jdx/mise/pull/9599)) by
[@&#8203;jdx](https://redirect.github.com/jdx). Repro:

  ```sh
  mkdir -p ~/.mise/installs/buck2/latest/bin
  touch ~/.mise/installs/buck2/latest/bin/buck2
  mise reshim   # previously failed; now succeeds
  ```

- **(schema)** All files under `schema/` are now validated against
`draft/2020-12` in strict mode. Hand-written schemas and the
`BoolOrString` renderer in `schema.ts` use `oneOf` instead of union type
arrays so AJV's `strictTypes` no longer rejects them; the bogus
`--strict-schema` flag is replaced with `--strict-types=true
--strict-tuples=true`
([#&#8203;9594](https://redirect.github.com/jdx/mise/pull/9594)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

- **(registry)** `elixir-ls` re-enables `symlink_bins` so the move to
the aqua backend stops exposing internal binaries that aren't meant to
be called directly
([#&#8203;9592](https://redirect.github.com/jdx/mise/pull/9592)) by
[@&#8203;AlternateRT](https://redirect.github.com/AlternateRT).

#### Changed

- **(registry)** `rebar` now installs from the GitHub backend
(`erlang/rebar3`) since rebar3 is just an `escript`; the asdf plugin
fallback is removed. Versions before rebar 3 are no longer supported,
and the installed executable remains `rebar3` to match upstream docs
([#&#8203;9576](https://redirect.github.com/jdx/mise/pull/9576)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(registry)** `bashly` drops the `asdf:mise-plugins/mise-bashly`
fallback and the redundant explicit `ruby` dependency, since the `gem`
backend already pulls in Ruby
([#&#8203;9578](https://redirect.github.com/jdx/mise/pull/9578)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(release)** Restored the "Sponsor mise" block on every successful
GitHub release. It had been accidentally scoped to the
communique-failure fallback in
[#&#8203;9395](https://redirect.github.com/jdx/mise/pull/9395), so
normal releases since v2026.4.22 lost it
([#&#8203;9580](https://redirect.github.com/jdx/mise/pull/9580)) by
[@&#8203;jdx](https://redirect.github.com/jdx).

#### Documentation

- **(dev-tools)** Clarified that vfox metadata `depends` runs install
hooks for the listed dependency tools
([#&#8203;9573](https://redirect.github.com/jdx/mise/pull/9573)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(plugins)** Removed outdated registry submission guidance from the
plugins docs
([#&#8203;9577](https://redirect.github.com/jdx/mise/pull/9577)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

#### Aqua Registry Updates

New packages:

-
[`salesforce/reactive-grpc/protoc-gen-reactor-grpc`](https://redirect.github.com/salesforce/reactive-grpc)
- [`spinframework/spin`](https://redirect.github.com/spinframework/spin)

Updated:

- [`pnpm/pnpm`](https://redirect.github.com/pnpm/pnpm)

**Full Changelog**:
<jdx/mise@v2026.5.0...v2026.5.1>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on Monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Documents #1411.

Adds documentation for the PushGateway runtime issue seen with shaded
jars when removes protobuf classes loaded via reflection.

Changes:
- add a troubleshooting note to the PushGateway docs
- clarify the shading and dependency requirements for protobuf
exposition

---------

Signed-off-by: ADITYA-CODE-SOURCE <adityavishe67@gmail.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| grafana/k6 | digest | `50e5517` → `632ddbc` |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
## What changed
- upgraded the Flint runtime in `mise.toml` to
`aqua:grafana/flint@0.22.2`
- migrated obsolete tool declarations that Flint now rewrites
automatically
- replaced `codespell` with `typos`
- refreshed `.github/renovate-tracked-deps.json`
- added targeted regex-based `_typos.toml` ignores for intentional
tokens and fixture content

## Why
This validates the Flint `v0.22.2` rollout on another consumer repo
using the same migration policy:
- no source-content rewrites to satisfy `typos`
- use targeted regex ignores instead of broad word allowlists where
practical
- leave Renovate preset bumps to Renovate

## Validation
- `mise run lint`

## Notes
- `mise run test` failed in this checkout, but the failure appears
unrelated to this Flint-only config change. The failing tests error on
Java `Map.of(...)` compilation in existing test sources under
`prometheus-metrics-config`.

Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Fixes #2095

## Summary

Restores OM1/protobuf compatibility for dotted gauge names after
`feat: move suffix handling to scrape time (#1955)`.

The bug was that non-OpenMetrics exposition changed visible output for
gauge
names that merely ended in suffix-like dotted strings such as `.created`
and
`.total`.

Examples:

- `Gauge("test3.created")` regressed from `test3` to `test3_created`
- `Gauge("test6.total")` regressed from `test6` to `test6_total`

This PR restores the legacy OM1/protobuf behavior while keeping
OpenMetrics on
literal-name handling.

This is the extracted prom-side fix from #2093. The Micrometer workflow
and
related downstream testing were split into a stacked follow-up PR so
this can
merge independently.

## What changed

- Fix OM1 text exposition for dotted gauge names ending in `.created`
and
  `.total`
- Fix protobuf exposition for the same compatibility cases
- Add regression tests that cover the restored OM1/protobuf behavior and
the
  preserved OpenMetrics behavior
- Clean up protobuf family-name resolution so legacy gauge handling
lives in
  one path instead of pre-rewriting metadata objects

## Follow-up stacked PR

- Micrometer workflow/task split:
zeitlinger#1

## Related

- Replaces: #2093
- Issue: #2095

## Testing

- `mise run build`
- `mise run lint`
- `./mvnw test -pl
prometheus-metrics-exposition-textformats,prometheus-metrics-exposition-formats
-Dtest=ExpositionFormatsTest,ProtobufExpositionFormatsTest,DuplicateNamesProtobufTest
-Dcoverage.skip=true -Dcheckstyle.skip=true`

Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…o v0.152.0 (#2111)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[otel/opentelemetry-collector-contrib](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases)
| minor | `0.151.0` → `0.152.0` |

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector-releases
(otel/opentelemetry-collector-contrib)</summary>

###
[`v0.152.0`](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases/blob/HEAD/CHANGELOG.md#v01520)

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases/compare/v0.151.0...v0.152.0)

##### 🚀 New components 🚀

- `drainprocessor`: Add drain processor to contrib distribution.
([#&#8203;47235](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases/issues/47235))
- `drainprocessor`: Add drain processor to k8s distribution.
([#&#8203;47235](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases/issues/47235))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzMuNiIsInVwZGF0ZWRJblZlciI6IjQzLjE3My42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…62e8 (#2113)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| eclipse-temurin | final | digest | `9c9e7c4` → `04262e8` |
| eclipse-temurin |  | digest | `9c9e7c4` → `04262e8` |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzMuNiIsInVwZGF0ZWRJblZlciI6IjQzLjE3My42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [org.slf4j:slf4j-simple](http://www.slf4j.org)
([source](https://redirect.github.com/qos-ch/slf4j),
[changelog](https://www.slf4j.org/news.html)) | `2.0.17` → `2.0.18` |
![age](https://developer.mend.io/api/mc/badges/age/maven/org.slf4j:slf4j-simple/2.0.18?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.slf4j:slf4j-simple/2.0.17/2.0.18?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzMuNiIsInVwZGF0ZWRJblZlciI6IjQzLjE3My42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [grafana/flint](https://redirect.github.com/grafana/flint) | minor |
`v0.21.0` → `v0.22.2` |

---

### Release Notes

<details>
<summary>grafana/flint (grafana/flint)</summary>

###
[`v0.22.2`](https://redirect.github.com/grafana/flint/releases/tag/v0.22.2)

[Compare
Source](https://redirect.github.com/grafana/flint/compare/v0.22.1...v0.22.2)

##### Fixed

- *(release)* dispatch renamed release workflow
([#&#8203;291](https://redirect.github.com/grafana/flint/pull/291))

###
[`v0.22.1`](https://redirect.github.com/grafana/flint/compare/v0.22.0...v0.22.1)

[Compare
Source](https://redirect.github.com/grafana/flint/compare/v0.22.0...v0.22.1)

###
[`v0.22.0`](https://redirect.github.com/grafana/flint/releases/tag/v0.22.0)

[Compare
Source](https://redirect.github.com/grafana/flint/compare/v0.21.0...v0.22.0)

##### Added

- replace codespell with typos
([#&#8203;269](https://redirect.github.com/grafana/flint/pull/269))
- *(lychee)* add local cache for local runs
([#&#8203;268](https://redirect.github.com/grafana/flint/pull/268))

##### Fixed

- *(renovate-deps)* surface real renovate failure in error output
([#&#8203;278](https://redirect.github.com/grafana/flint/pull/278))
- *(ci)* drop double release-plz update from release:pr
([#&#8203;276](https://redirect.github.com/grafana/flint/pull/276))
- *(init)* normalize node runtime before linters
([#&#8203;267](https://redirect.github.com/grafana/flint/pull/267))
- *(renovate)* support block-scalar mise sha256 values
([#&#8203;266](https://redirect.github.com/grafana/flint/pull/266))
- *(mise)* migrate flint-managed tools to supported backends
([#&#8203;258](https://redirect.github.com/grafana/flint/pull/258))
- validate renovate dependency rule coverage
([#&#8203;263](https://redirect.github.com/grafana/flint/pull/263))
- make flint-setup state-based
([#&#8203;252](https://redirect.github.com/grafana/flint/pull/252))
- *(init)* let rustfmt own Rust line length
([#&#8203;250](https://redirect.github.com/grafana/flint/pull/250))
- run renovate-deps for deleted tracked files
([#&#8203;247](https://redirect.github.com/grafana/flint/pull/247))
- validate CI env and isolate check types
([#&#8203;253](https://redirect.github.com/grafana/flint/pull/253))
- *(init)* remove stale head sha from CI snippets
([#&#8203;248](https://redirect.github.com/grafana/flint/pull/248))
- *(init)* enable yamllint indentation rule
([#&#8203;251](https://redirect.github.com/grafana/flint/pull/251))

##### Other

- streamline README getting started
([#&#8203;280](https://redirect.github.com/grafana/flint/pull/280))
- *(deps)* update taiki-e/install-action digest to
[`fa0dd4c`](https://redirect.github.com/grafana/flint/commit/fa0dd4c)
([#&#8203;282](https://redirect.github.com/grafana/flint/pull/282))
- *(deps)* lock file maintenance
([#&#8203;285](https://redirect.github.com/grafana/flint/pull/285))
- *(deps)* update dependency mise to v2026.5.2
([#&#8203;284](https://redirect.github.com/grafana/flint/pull/284))
- *(deps)* update dependency go to v1.26.3
([#&#8203;283](https://redirect.github.com/grafana/flint/pull/283))
- *(deps)* update taiki-e/install-action digest to
[`e3134ec`](https://redirect.github.com/grafana/flint/commit/e3134ec)
([#&#8203;281](https://redirect.github.com/grafana/flint/pull/281))
- pass git-token and forge to release-plz
([#&#8203;274](https://redirect.github.com/grafana/flint/pull/274))
- *(deps)* update taiki-e/install-action digest to
[`3fa6878`](https://redirect.github.com/grafana/flint/commit/3fa6878)
([#&#8203;275](https://redirect.github.com/grafana/flint/pull/275))
- *(deps)* bump renovate to 43.150.0
([#&#8203;273](https://redirect.github.com/grafana/flint/pull/273))
- \[**breaking**] drop --fast-only flag and tighten renovate-deps timing
([#&#8203;270](https://redirect.github.com/grafana/flint/pull/270))
- *(deps)* update rust crate tokio to v1.52.2
([#&#8203;272](https://redirect.github.com/grafana/flint/pull/272))
- upgrade lychee to v0.24.2
([#&#8203;265](https://redirect.github.com/grafana/flint/pull/265))
- *(deps)* update taiki-e/install-action digest to
[`cca35ed`](https://redirect.github.com/grafana/flint/commit/cca35ed)
([#&#8203;254](https://redirect.github.com/grafana/flint/pull/254))
- *(deps)* update dependency aqua:owenlamont/ryl to v0.8.0
([#&#8203;261](https://redirect.github.com/grafana/flint/pull/261))
- *(deps)* update dependency mise to v2026.4.28
([#&#8203;262](https://redirect.github.com/grafana/flint/pull/262))
- *(deps)* update dependency golangci-lint to v2.12.1
([#&#8203;264](https://redirect.github.com/grafana/flint/pull/264))
- *(deps)* update dependency aqua:owenlamont/ryl to v0.7.0
([#&#8203;259](https://redirect.github.com/grafana/flint/pull/259))
- *(renovate)* simplify quickstart and batch weekly linter updates
([#&#8203;257](https://redirect.github.com/grafana/flint/pull/257))
- *(deps)* update dependency npm:renovate to v43.141.6
([#&#8203;255](https://redirect.github.com/grafana/flint/pull/255))
- expand positioning and comparisons
([#&#8203;239](https://redirect.github.com/grafana/flint/pull/239))
- *(deps)* update taiki-e/install-action digest to
[`1f2425c`](https://redirect.github.com/grafana/flint/commit/1f2425c)
([#&#8203;246](https://redirect.github.com/grafana/flint/pull/246))
- move release-plz flow into mise tasks
([#&#8203;234](https://redirect.github.com/grafana/flint/pull/234))
- *(deps)* update taiki-e/install-action digest to
[`481c34c`](https://redirect.github.com/grafana/flint/commit/481c34c)
([#&#8203;231](https://redirect.github.com/grafana/flint/pull/231))
- *(deps)* update dependency ruff to v0.15.12
([#&#8203;245](https://redirect.github.com/grafana/flint/pull/245))
- *(deps)* update dependency npm:renovate to v43.141.5
([#&#8203;244](https://redirect.github.com/grafana/flint/pull/244))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on Monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzkuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE3OS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mise](https://redirect.github.com/jdx/mise) | patch | `v2026.5.5` →
`v2026.5.11` |

---

### Release Notes

<details>
<summary>jdx/mise (mise)</summary>

###
[`v2026.5.11`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.11):
: Provenance verification at lock time

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.10...v2026.5.11)

#### Added

- **(security)** Verify and record provenance during `mise lock`, with a
new `provenance_api_failures_fatal` setting to control whether GitHub
attestation API failures are fatal
([#&#8203;9945](https://redirect.github.com/jdx/mise/pull/9945) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(security)** Fall back to verifying archive contents when SLSA
provenance attests every file inside an archive but not the archive
itself, fixing releases like `github:prefix-dev/pixi@0.68.1`
([#&#8203;9898](https://redirect.github.com/jdx/mise/pull/9898) by
[@&#8203;sargunv](https://redirect.github.com/sargunv)).
- **(plugins)** Support remote git subdirectory sources for plugins,
e.g. `git::https://host/repo.git//path/to/plugin?ref=branch`
([#&#8203;9893](https://redirect.github.com/jdx/mise/pull/9893) by
[@&#8203;jdx](https://redirect.github.com/jdx)).

#### Fixed

- **(github)** Asset picker now picks the shortest matching name as a
tiebreaker for `asset_pattern` and accepts platform-agnostic runtime
archives like `.phar`, `.jar`, and `.pyz` (fixes installing `composer`)
([#&#8203;9946](https://redirect.github.com/jdx/mise/pull/9946) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(config)** Invalid `miserc.toml` now produces a clear parse error at
startup instead of being silently ignored
([#&#8203;9937](https://redirect.github.com/jdx/mise/pull/9937) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(install)** Per-tool `.mise.backend.toml` metadata is now written
alongside install directories, making merged/copied installs
self-describing and refreshing install state mid-run so same-run
dependency resolution sees freshly installed tools
([#&#8203;9941](https://redirect.github.com/jdx/mise/pull/9941) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(install)** `postinstall` hooks now run through the configured
default inline shell instead of `$SHELL -c`
([#&#8203;9812](https://redirect.github.com/jdx/mise/pull/9812) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(cache)** `mise cache prune [PLUGIN]...` now honors the plugin
filter instead of pruning every cache directory
([#&#8203;9914](https://redirect.github.com/jdx/mise/pull/9914) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(task)** Preserve task-declared env, `MISE_TASK_*` metadata, and
`MISE_ENV` across nested `hook-env` invocations, while keeping the
nested-PATH fix from
[#&#8203;9765](https://redirect.github.com/jdx/mise/pull/9765) intact
([#&#8203;9850](https://redirect.github.com/jdx/mise/pull/9850) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(backend)** Resolve helper dependency toolsets in offline mode so
`minimum_release_age` cannot mis-route helper tools like `node`/`npm`
when querying upstream versions
([#&#8203;9808](https://redirect.github.com/jdx/mise/pull/9808) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(vfox)** Key vfox `EnvKeys` hooks by the resolved install path so
shared/system installs don't reuse user-path cache entries
([#&#8203;9907](https://redirect.github.com/jdx/mise/pull/9907) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(use)** Skip the `mise use -g` shadow warning when the active
version comes from system config
([#&#8203;9900](https://redirect.github.com/jdx/mise/pull/9900) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(doctor)** List installed plugins from install state, including
those owned by disabled backends, and add a `plugins` object to `mise
doctor -J`
([#&#8203;9863](https://redirect.github.com/jdx/mise/pull/9863) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(erlang)** `erlang.compile = false` is now strict precompiled mode
and no longer falls back to `kerl build-install` on unsupported distros
([#&#8203;9866](https://redirect.github.com/jdx/mise/pull/9866) by
[@&#8203;risu729](https://redirect.github.com/risu729)).

#### Changed

- **(registry)** Prefer the `aqua` backend for `cilium-hubble`,
`localstack`, `mark`, `openbao`, `porter`, `process-compose`, `rtk`,
`sqlc`, `turso`, and `xcodegen`, with existing GitHub/asdf backends
preserved as fallbacks
([#&#8203;9789](https://redirect.github.com/jdx/mise/pull/9789) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(registry)** Add `aqua:jbangdev/jbang` as the primary backend for
`jbang`, enabling Windows support
([#&#8203;9811](https://redirect.github.com/jdx/mise/pull/9811) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(registry)** Alias `dotnet-core` to `dotnet`
([#&#8203;9807](https://redirect.github.com/jdx/mise/pull/9807) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(registry)** Add [`lisette`](https://lisette.run/)
([#&#8203;9944](https://redirect.github.com/jdx/mise/pull/9944) by
[@&#8203;ivov](https://redirect.github.com/ivov)).
- **(registry)** Fix `sourcery` archive format so macOS installs use the
`.zip` asset instead of trying to extract it as `tar.gz`
([#&#8203;9902](https://redirect.github.com/jdx/mise/pull/9902) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(docs)** Trim the global settings example in the configuration docs
([#&#8203;9912](https://redirect.github.com/jdx/mise/pull/9912) by
[@&#8203;risu729](https://redirect.github.com/risu729)).

#### New Contributors

- [@&#8203;ivov](https://redirect.github.com/ivov) made their first
contribution in
[#&#8203;9944](https://redirect.github.com/jdx/mise/pull/9944)

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.10`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.10):
: AWS SSO for s3 backends

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.9...v2026.5.10)

A small release that unblocks s3 backends for users on AWS SSO profiles,
plus two minor option-handling fixes that fell out of an internal
refactor of the GitHub/GitLab/Forgejo backend.

#### Fixed

- **(s3)** s3 backends now work with SSO-based AWS profiles. The `sso`
feature of `aws-config` is enabled, so configurations that authenticate
via [AWS IAM Identity
Center](https://aws.amazon.com/iam/identity-center/) no longer fail
with:

  ```
S3 error: DispatchFailure { ... ProfileFile provider could not be built:
  This behavior requires following cargo feature(s) enabled: sso.
  ```

([#&#8203;9875](https://redirect.github.com/jdx/mise/pull/9875) by
[@&#8203;Amir-Ahmad](https://redirect.github.com/Amir-Ahmad)).
- **(backend)** Two small behavior fixes landed while centralizing Git
backend option reads
([#&#8203;9838](https://redirect.github.com/jdx/mise/pull/9838) by
[@&#8203;risu729](https://redirect.github.com/risu729)):
- Forgejo now applies the same install-time option filtering as
GitHub/GitLab.
- `no_app` is now read through target-aware platform option lookup, so
`platforms.<target>.no_app = true` is honored when resolving assets for
cross-platform lockfiles.

#### Changed

- **(backend)** Internal refactor introducing a shared `BackendOptions`
reader and a typed option wrapper for the unified GitHub/GitLab/Forgejo
backend. No user-visible behavior change beyond the fixes above
([#&#8203;9838](https://redirect.github.com/jdx/mise/pull/9838) by
[@&#8203;risu729](https://redirect.github.com/risu729)).

#### New Contributors

- [@&#8203;Amir-Ahmad](https://redirect.github.com/Amir-Ahmad) made
their first contribution in
[#&#8203;9875](https://redirect.github.com/jdx/mise/pull/9875)

**Full Changelog**:
<jdx/mise@v2026.5.9...v2026.5.10>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.9`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.9):
: SwiftPM artifact bundles and per-hook watch shells

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.8...v2026.5.9)

A modest release: SwiftPM gains artifact bundle support,
`[[watch_files]]` hooks can pick their own inline shell, and a handful
of fixes land for aqua latest-tag resolution, vfox `cmd.exec`, and
GitHub OAuth device-flow URLs. Plain-string Tera rendering also gets a
fast path.

#### Added

- **(spm)** SwiftPM installs now prefer prebuilt artifact bundles
(`*.artifactbundle.zip`) when a release publishes one for the current
Swift target triple, falling back to a source build otherwise
([#&#8203;9825](https://redirect.github.com/jdx/mise/pull/9825)) by
[@&#8203;ikesyo](https://redirect.github.com/ikesyo). New controls:

  ```toml
  [tools]
  # require an artifact bundle; fail instead of source-building
"spm:giginet/swift-testing-revolutionary" = { version = "0.4.0",
artifactbundle = true }

  # always source-build, ignore any bundles
  "spm:tuist/tuist" = { version = "latest", artifactbundle = false }

  # disambiguate when multiple bundle assets are published
"spm:org/tool" = { version = "1.0.0", artifactbundle_asset =
"tool.artifactbundle.zip" }

  [settings]
  # apply "bundles only" globally (mirrors cargo.binstall_only)
  spm.artifactbundle_only = true
  ```

- **(config)** `[[watch_files]]` entries with `run` accept an optional
`shell` field, rendered through templates and falling back to the
configured default inline shell when unset
([#&#8203;9810](https://redirect.github.com/jdx/mise/pull/9810)) by
[@&#8203;risu729](https://redirect.github.com/risu729):

  ```toml
  [[watch_files]]
  patterns = ["*.js"]
  run = "eslint --fix ."
  shell = "bash -c"
  ```

`shell` only applies to `run` hooks; combining it with `task` produces a
warning and the value is ignored.

#### Fixed

- **(aqua)** When GitHub's `latest` release pointed at a tag that aqua's
registry rejected via `version_filter` or `version_constraint`, mise
would return it anyway. The latest fast path now applies both checks
before accepting a tag
([#&#8203;9834](https://redirect.github.com/jdx/mise/pull/9834)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(vfox)** Lua `cmd.exec` calls inside vfox plugins now build commands
from mise's configured `unix_default_inline_shell_args` /
`windows_default_inline_shell_args` instead of hardcoding `sh -c` or
`cmd /C`, aligning plugin behavior with tasks, Tera command rendering,
and other inline shell users
([#&#8203;9837](https://redirect.github.com/jdx/mise/pull/9837)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- GitHub OAuth device-flow paths were slightly off compared to the
documented endpoints. The default `oauth_auth_url` is now the GitHub
login base, with mise appending `/device/code` and `/oauth/access_token`
per [GitHub's device-flow
docs](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps#device-flow)
([#&#8203;9791](https://redirect.github.com/jdx/mise/pull/9791)) by
[@&#8203;jasisk](https://redirect.github.com/jasisk).
- **(patrons)** `mise patrons` now points the "become a patron" link to
the en.dev homepage instead of `/sponsor`
([#&#8203;9868](https://redirect.github.com/jdx/mise/pull/9868)) by
[@&#8203;jdx](https://redirect.github.com/jdx).

#### Changed

- **(registry)** `npm` is now resolved through `aqua:npm/cli` (with
`npm:npm` retained as a fallback), and `buck2` switches to
`aqua:facebook/buck2` with `prerelease = true` so its always-prerelease
releases are visible
([#&#8203;9762](https://redirect.github.com/jdx/mise/pull/9762),
[#&#8203;9805](https://redirect.github.com/jdx/mise/pull/9805)) by
[@&#8203;risu729](https://redirect.github.com/risu729).
- **(registry)** Added SonarQube CLI as `aqua:SonarSource/sonarqube-cli`
([#&#8203;9824](https://redirect.github.com/jdx/mise/pull/9824)) by
[@&#8203;3PeatVR](https://redirect.github.com/3PeatVR).

#### Performance

- **(config)** Strings with no Tera block markers (`{{`, `{%`, `{#`,
including whitespace-trimmed forms) now bypass the Tera renderer at
config evaluation sites, skipping context construction, async context
fetches, and `get_tera` setup. Tera 1.20.1's grammar guarantees these
are the only block openers, so output is unchanged for both well-formed
and malformed templates
([#&#8203;9833](https://redirect.github.com/jdx/mise/pull/9833)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

#### Documentation

- Updated the Walkthrough guide
([#&#8203;9853](https://redirect.github.com/jdx/mise/pull/9853)) by
[@&#8203;thernstig](https://redirect.github.com/thernstig).

#### New Contributors

- [@&#8203;3PeatVR](https://redirect.github.com/3PeatVR) made their
first contribution in
[#&#8203;9824](https://redirect.github.com/jdx/mise/pull/9824)
- [@&#8203;ikesyo](https://redirect.github.com/ikesyo) made their first
contribution in
[#&#8203;9825](https://redirect.github.com/jdx/mise/pull/9825)
- [@&#8203;thernstig](https://redirect.github.com/thernstig) made their
first contribution in
[#&#8203;9853](https://redirect.github.com/jdx/mise/pull/9853)

**Full Changelog**:
<jdx/mise@v2026.5.8...v2026.5.9>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.8`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.8):
: Patrons, cleaner task output, and sigstore-rust

[Compare
Source](https://redirect.github.com/jdx/mise/compare/aqua-registry-v2026.5.7...v2026.5.8)

A small release: a new `mise patrons` command, cleaner task command
output when scripts start with a shebang, and a fix for `mise upgrade`
summaries getting wiped by progress cleanup. Under the hood, signature
verification moves to the modern sigstore-rust stack.

#### Added

- **(patrons)** New `mise patrons` subcommand lists individuals on the
Patron tier supporting mise development
([#&#8203;9841](https://redirect.github.com/jdx/mise/pull/9841)) by
[@&#8203;jdx](https://redirect.github.com/jdx). Data is fetched from the
en.dev patrons feed, cached for 24h, and falls back to stale cache on
network failure. Each patron's name renders as a clickable OSC 8
hyperlink in supporting terminals.

  ```
  $ mise patrons
  mise is supported by these patrons — thank you

    • Ronald Gierlach
    • youfoundron

  Become a patron: https://en.dev/sponsor
  ```

  Flags: `-J/--json`, `--refresh`.
- **(registry)** Add a `racket` shorthand backed by the aqua
`racket/racket/minimal` package, exposing both `racket` and `raco` from
the official racket-lang.org release artifacts
([#&#8203;9784](https://redirect.github.com/jdx/mise/pull/9784)) by
[@&#8203;albertnetymk](https://redirect.github.com/albertnetymk).

#### Fixed

- **(task)** When a task's `run` body starts with `#!/usr/bin/env bash`
or `set -Eeuo pipefail`, the echoed command line would show only that
boilerplate and hide the rest of the script. Leading shebang, blank, and
`set ...` lines are now skipped when building the displayed command, so
the first real command shows up. Execution is unchanged
([#&#8203;9844](https://redirect.github.com/jdx/mise/pull/9844)) by
[@&#8203;jdx](https://redirect.github.com/jdx). Fixes
[#&#8203;9842](https://redirect.github.com/jdx/mise/issues/9842).

  ```
  # before
  [generate-completions] $ #!/usr/bin/env bash

  # after
[generate-completions] $ fzf --fish >
~/.config/fish/completions/fzf.fish
  ```
- **(upgrade)** `mise upgrade` could erase its own `Upgraded N tools:`
summary detail lines when an upgrade also performed an uninstall — fresh
progress jobs registered for the cleanup phase were still active at
shutdown, so `stop_clear()` wiped them along with the summary. Progress
jobs are now finished and reset before the summary prints
([#&#8203;9860](https://redirect.github.com/jdx/mise/pull/9860)) by
[@&#8203;risu729](https://redirect.github.com/risu729). Regression from
[#&#8203;9779](https://redirect.github.com/jdx/mise/pull/9779);
addresses
[#&#8203;9856](https://redirect.github.com/jdx/mise/discussions/9856).

#### Changed

- **(security)** Sigstore verification (`verify_github_attestation`,
`verify_cosign_signature`, `verify_slsa_provenance`,
`detect_attestations`) now runs on a local `mise-sigstore` adapter built
on `sigstore-verify` 0.7 from sigstore-rust, replacing the previous
`sigstore-verification` 0.2 dependency
([#&#8203;9260](https://redirect.github.com/jdx/mise/pull/9260)) by
[@&#8203;jdx](https://redirect.github.com/jdx). The mise call sites and
helper API are unchanged. The new adapter still covers legacy cosign v1
bundles (e.g. goreleaser-signed releases) and raw DSSE `*.intoto.jsonl`
envelopes (slsa-github-generator) that the upstream `Bundle::from_json`
rejects.

#### Deprecated

- **(config)** The top-level `env_file` setting (and `MISE_ENV_FILE`) is
now marked deprecated. Use `env._.file` in `mise.toml` instead
([#&#8203;9862](https://redirect.github.com/jdx/mise/pull/9862)) by
[@&#8203;risu729](https://redirect.github.com/risu729). The JSON Schema
gains the `deprecated` keyword, a warning is scheduled for 2026.11.0,
and removal is planned for 2027.11.0.

  ```toml
  # before
  env_file = ".env"

  # after
  [env]
  _.file = ".env"
  ```

#### New Contributors

- [@&#8203;albertnetymk](https://redirect.github.com/albertnetymk) made
their first contribution in
[#&#8203;9784](https://redirect.github.com/jdx/mise/pull/9784)

**Full Changelog**:
<jdx/mise@v2026.5.7...v2026.5.8>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.7`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.7):
: Lazy GitHub tokens, hardened version parsing, and faster task
freshness

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.6...aqua-registry-v2026.5.7)

A round of correctness and performance fixes: vfox-managed tools no
longer prompt your password manager on every shell hook, `mise upgrade`
stops double-printing its summary, `mise settings get` finally
distinguishes typos from unset values, and conda installs that pulled in
`adwaita-icon-theme` are unstuck. Plus a security pass that hardens
version-string parsing against shell injection.

#### Fixed

- **(vfox)** GitHub tokens are now resolved lazily inside Lua plugins.
Previously, `mise hook-env`, `mise activate`, `mise completion`, and
even `mise --help` would call `github.credential_command` for every
installed vfox tool — potentially unlocking a password manager on every
prompt. The resolver is now only invoked when a Lua plugin actually
issues an HTTP request to a GitHub API URL, e.g. during an install
([#&#8203;9816](https://redirect.github.com/jdx/mise/pull/9816)) by
[@&#8203;jdx](https://redirect.github.com/jdx). Fixes
[#&#8203;9797](https://redirect.github.com/jdx/mise/issues/9797).

- **(upgrade)** `mise upgrade` (and `mise up`) no longer prints the
installed-tools block twice when an upgrade also needs to uninstall an
older version. The shared progress-job registry is now cleared after
each phase so the subsequent uninstall renders cleanly
([#&#8203;9779](https://redirect.github.com/jdx/mise/pull/9779)) by
[@&#8203;jdx](https://redirect.github.com/jdx). Fixes
[#&#8203;9774](https://redirect.github.com/jdx/mise/issues/9774).

- **(settings)** `mise settings get` distinguishes between a known
setting that hasn't been set and a typo:

  ```sh
  $ mise settings get python.compile
  mise ERROR Setting [python.compile] is not set
  $ mise settings get not.a.real.setting
  mise ERROR Unknown setting: not.a.real.setting
  ```

Previously both returned `Unknown setting`, since `Option<T>` fields
skipped by TOML serialization were indistinguishable from missing keys
([#&#8203;9818](https://redirect.github.com/jdx/mise/pull/9818)) by
[@&#8203;jdx](https://redirect.github.com/jdx).

- **(backend)** Several backends (`aqua`, `github`/`gitlab`/`forgejo`,
`http`, `s3`, `ubi`, `vfox`, `conda`, Windows `npm`) reported
`bin-paths` pointing at the concrete resolved install dir (e.g.
`installs/tiny/1.0.0/...`) instead of the stable runtime symlink for the
requested label (e.g. `installs/tiny/latest/...`). A new
`runtime_path_for_install_path` helper remaps backend-discovered
absolute paths onto the runtime path while leaving explicit relative
`bin_path` values alone
([#&#8203;9606](https://redirect.github.com/jdx/mise/pull/9606)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

- **(conda)** `mise use -g imagemagick` (and other tools pulling in
`adwaita-icon-theme`) failed with `conda solve failed: encountered
duplicate records for adwaita-icon-theme-40.1.1-...`. rattler-solve
detects duplicates by `DistArchiveIdentifier` rather than URL, so when
conda-forge served the same archive under multiple CDN URLs, the
existing URL-based dedup wasn't enough. Dedup now uses `r.identifier`,
the exact key the solver uses
([#&#8203;9831](https://redirect.github.com/jdx/mise/pull/9831)) by
[@&#8203;jdx](https://redirect.github.com/jdx). Fixes
[#&#8203;9829](https://redirect.github.com/jdx/mise/discussions/9829).

#### Added

- **(github)** `github.credential_command` now runs through the
configured default inline shell (instead of hardcoded `sh -c`) and is
invoked with `MISE_CREDENTIAL_HOST` and `MISE_CREDENTIAL_PROVIDER` in
the environment. The deprecated `$1` / `${1}` hostname positional
argument continues to work for sh-compatible shells (`ash`, `bash`,
`dash`, `ksh`, `sh`, `zsh`); a deprecation warning lands in `2026.11.0`
and removal is planned for `2027.11.0`
([#&#8203;9664](https://redirect.github.com/jdx/mise/pull/9664)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

#### Performance

- **(aqua)** The baked aqua standard-registry package and alias lookup
tables are now generated as static `phf::Map`s at build time via
`phf_codegen`, instead of lazy runtime `HashMap`s. Warmed lookup is
comparable, but first-use no longer allocates \~115 KiB of heap or
builds a 2,179-entry bucket table
([#&#8203;9763](https://redirect.github.com/jdx/mise/pull/9763)) by
[@&#8203;risu729](https://redirect.github.com/risu729).

- **(task)** When `task.source_freshness_hash_contents = true`, mise now
caches each source file's blake3 hash keyed by `(size, mtime_secs,
mtime_nanos)` — git's stat-info trick — in a per-task file under
`STATE/task-sources/`. Unchanged files are skipped on subsequent runs;
entries for files removed from `sources` are pruned automatically
([#&#8203;9819](https://redirect.github.com/jdx/mise/pull/9819)) by
[@&#8203;jdx](https://redirect.github.com/jdx). See [discussion
#&#8203;9802](https://redirect.github.com/jdx/mise/discussions/9802).

#### Security

- **Reject shell metacharacters in version strings at the `ToolRequest`
boundary**
([#&#8203;9814](https://redirect.github.com/jdx/mise/pull/9814)) by
[@&#8203;jdx](https://redirect.github.com/jdx). `ToolRequest::new` now
validates `version`, `prefix`, `ref/*`, `sub-*`, and `path:` requests,
rejecting `$`, backticks, quotes, `\`, control chars, and `..`
traversal. This single change neutralizes the CRITICAL RCE class flagged
against `vfox-ag`, `vfox-bfs`, `vfox-bpkg`, `vfox-chezscheme`,
`vfox-redis`, `vfox-yarn`, and shell-injection findings on `clickhouse`,
`leiningen`, `pipenv`, `poetry`, `azure-functions-core-tools`,
`carthage`, and `android-sdk`, since no Lua hook can observe a hostile
`ctx.version` / `ctx.rootPath`. Real-world strings like `1.2.3-beta`,
`lts/hydrogen`, `3.12.0a1`, and `nightly` continue to validate. The PR
also tightens `workflow_dispatch` input validation in the COPR, PPA,
npm-publish, and Docker workflows.

#### Registry

- Replace unsupported `exe = ...` options across \~30 GitHub/GitLab
registry entries (`astro`, `babashka`, `coursier`, `glab`, `odin`,
`openbao`, `purescript`, and many more)
([#&#8203;9587](https://redirect.github.com/jdx/mise/pull/9587)) by
[@&#8203;risu729](https://redirect.github.com/risu729). Two entries
gained real config to fix Linux installs:
- `solidity` now uses `bin = "solc"` so the installed binary matches the
upstream `solc-static-linux` asset.
- `sourcery` now uses `format = "tar.gz"` because the upstream Linux
asset is gzip-compressed despite its `.tar.xz` filename.
- Update `pi` to `earendil-works/pi`
([#&#8203;9792](https://redirect.github.com/jdx/mise/pull/9792)) by
[@&#8203;garysassano](https://redirect.github.com/garysassano).

#### Documentation

- **(aliases)** Fix the Aliased Versions example and drop the stale asdf
callout ([#&#8203;9830](https://redirect.github.com/jdx/mise/pull/9830))
by [@&#8203;jdx](https://redirect.github.com/jdx).

**Full Changelog**:
<jdx/mise@v2026.5.6...v2026.5.7>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.6`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.6):
: Native GitHub OAuth, project-scoped OCI builds, faster registries

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.5...v2026.5.6)

A mix of features and correctness work: a native GitHub OAuth token
source (experimental) that drops the dependency on `gh`/`ghtkn`, `mise
oci` commands scoped to the current project by default, and two
registry-lookup performance wins — plus fixes across activate, exec,
java, lock, pipx, and vfox.

#### Added

- **(cli)** Add `--before <date>` to `mise ls-remote` and `mise lock`
for release-date-aware version discovery
([#&#8203;9269](https://redirect.github.com/jdx/mise/pull/9269)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- **(config)** Hooks can now be defined as a table — `{ run = "...",
shell = "bash -c" }` — to pick a shell inline, alongside the existing
string form
([#&#8203;9718](https://redirect.github.com/jdx/mise/pull/9718)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- **(github)** Add native GitHub OAuth device-flow token source
(experimental) — no dependency on `gh`/`ghtkn`
([#&#8203;9654](https://redirect.github.com/jdx/mise/pull/9654)) by
[@&#8203;jdx](https://redirect.github.com/jdx). Create a GitHub App with
device flow enabled, then authorize once:

  ```sh
  mise settings set experimental true
  mise settings set github.oauth_client_id Iv1.yourgithubappclientid
  mise token github --oauth
  ```

mise caches and refreshes the token for its own GitHub API calls, and
auto-exports it as `GITHUB_TOKEN` to shells started under `mise
activate`/`exec` so `gh`, `git`, and other GitHub-aware tools pick it up
too. See [GitHub Tokens → Native GitHub
OAuth](https://mise.en.dev/dev-tools/github-tokens.html#native-github-oauth)
for the full setup.
- **(oci)** `mise oci build/run/push` are now scoped to the current
project's config by default; pass `--include-global` to opt back into
the previous behavior of including global config
([#&#8203;9766](https://redirect.github.com/jdx/mise/pull/9766)) by
[@&#8203;jdx](https://redirect.github.com/jdx)
- **(outdated)** Prefixed-version requests now resolve to the latest
within the prefix — e.g. `temurin-17.0.19+10` for a `temurin-17.x`
request, instead of jumping ahead to `temurin-26.x`
([#&#8203;9767](https://redirect.github.com/jdx/mise/pull/9767)) by
[@&#8203;roele](https://redirect.github.com/roele)

#### Fixed

- **(activate)** Guard bash `chpwd_functions` expansion under `set -u`
so activated shells no longer fail with `chpwd_functions[@&#8203;]:
unbound variable`
([#&#8203;9716](https://redirect.github.com/jdx/mise/pull/9716)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- **(backend)** Date-check the `latest_stable_version` fast path when
`--before` or `minimum_release_age` is active, instead of returning a
too-new version
([#&#8203;9650](https://redirect.github.com/jdx/mise/pull/9650)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- **(config)** Parse core tool options consistently between table and
bracket syntax, so `[depends=...]` and `os=` set the named core fields
([#&#8203;9742](https://redirect.github.com/jdx/mise/pull/9742)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- **(exec)** Nested `mise -C <dir> exec` correctly resolves the inner
toolset's tools again — `__MISE_DIFF` is now propagated to children so
the child no longer inherits a mutated PATH that hides its own tools
([#&#8203;9765](https://redirect.github.com/jdx/mise/pull/9765)) by
[@&#8203;jdx](https://redirect.github.com/jdx)
- **(forgejo)** Include prereleases when `prerelease = true` /
`MISE_PRERELEASES=1` is set
([#&#8203;9717](https://redirect.github.com/jdx/mise/pull/9717)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- **(github)** Avoid caching empty release-asset responses, refetching
instead ([#&#8203;9616](https://redirect.github.com/jdx/mise/pull/9616))
by [@&#8203;risu729](https://redirect.github.com/risu729)
- **(java)** Resolve `core:java` lockfile URLs/checksums from mise Java
metadata, fixing `mise install --locked` for Java
([#&#8203;9719](https://redirect.github.com/jdx/mise/pull/9719)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- **(lock)** Cache `github_attestations = "unavailable"` so locked
installs stop hitting the GitHub attestation API for artifacts known to
have none
([#&#8203;9741](https://redirect.github.com/jdx/mise/pull/9741)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- **(pipx)** Preserve `uvx_args`/`pipx_args`/`extras`/`uvx = false` when
pipx tools are reinstalled after a Python upgrade
([#&#8203;9663](https://redirect.github.com/jdx/mise/pull/9663)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- **(python)** Skip redundant GitHub attestation re-verification when
the lockfile already has checksum + `provenance = "github-attestations"`
([#&#8203;9739](https://redirect.github.com/jdx/mise/pull/9739)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- **(vfox)** Run vfox plugin `pre_uninstall` hooks before removing
install directories
([#&#8203;9662](https://redirect.github.com/jdx/mise/pull/9662)) by
[@&#8203;risu729](https://redirect.github.com/risu729)
- Quote `program` and `args` in `cmd::cmd(..)` debug output so logged
commands are unambiguous
([#&#8203;9777](https://redirect.github.com/jdx/mise/pull/9777)) by
[@&#8203;ktetzlaff](https://redirect.github.com/ktetzlaff)

#### Performance

- **(aqua)** Bake aqua registry packages as rkyv blobs for much faster
lookup ([#&#8203;9535](https://redirect.github.com/jdx/mise/pull/9535))
by [@&#8203;risu729](https://redirect.github.com/risu729)
- **(registry)** Use `phf` for the mise registry lookup table, around
3.3x faster than the previous `BTreeMap` path
([#&#8203;9769](https://redirect.github.com/jdx/mise/pull/9769)) by
[@&#8203;risu729](https://redirect.github.com/risu729)

#### Registry

- Added `vector`
([#&#8203;9761](https://redirect.github.com/jdx/mise/pull/9761)) by
[@&#8203;kquinsland](https://redirect.github.com/kquinsland)
- Added `openshift-install` and an `http:` backend for `oc`
([#&#8203;9669](https://redirect.github.com/jdx/mise/pull/9669)) by
[@&#8203;konono](https://redirect.github.com/konono)

#### New Contributors

- [@&#8203;konono](https://redirect.github.com/konono) made their first
contribution in
[#&#8203;9669](https://redirect.github.com/jdx/mise/pull/9669)
- [@&#8203;kquinsland](https://redirect.github.com/kquinsland) made
their first contribution in
[#&#8203;9761](https://redirect.github.com/jdx/mise/pull/9761)
- [@&#8203;ktetzlaff](https://redirect.github.com/ktetzlaff) made their
first contribution in
[#&#8203;9777](https://redirect.github.com/jdx/mise/pull/9777)

**Full Changelog**:
<jdx/mise@v2026.5.5...v2026.5.6>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on Monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzkuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE3OS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [maven](https://maven.apache.org/)
([source](https://redirect.github.com/apache/maven)) | `3.9.15` →
`3.9.16` |
![age](https://developer.mend.io/api/mc/badges/age/maven/org.apache.maven:apache-maven/3.9.16?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.apache.maven:apache-maven/3.9.15/3.9.16?slim=true)
|

---

### Release Notes

<details>
<summary>apache/maven (maven)</summary>

###
[`v3.9.16`](https://redirect.github.com/apache/maven/releases/tag/maven-3.9.16):
3.9.16

[Compare
Source](https://redirect.github.com/apache/maven/compare/maven-3.9.15...maven-3.9.16)

<!-- Optional: add a release summary here -->

#### 🐛 Bug Fixes

- Trim `threadConfiguration` to accept input surrounded with spaces
([#&#8203;12042](https://redirect.github.com/apache/maven/pull/12042))
[@&#8203;slawekjaranowski](https://redirect.github.com/slawekjaranowski)
- Backport: Maven 3.10.x fixed plugin resolution
([#&#8203;12022](https://redirect.github.com/apache/maven/pull/12022))
[@&#8203;cstamas](https://redirect.github.com/cstamas)

#### 📦 Dependency updates

- Bump org.codehaus.plexus:plexus-classworlds from 2.9.0 to 2.11.0
([#&#8203;12039](https://redirect.github.com/apache/maven/pull/12039))
@&#8203;[dependabot\[bot\]](https://redirect.github.com/apps/dependabot)
- \[3.9.x] Bump to parent POM 48
([#&#8203;12024](https://redirect.github.com/apache/maven/pull/12024))
[@&#8203;cstamas](https://redirect.github.com/cstamas)
- Bump commons-io:commons-io from 2.21.0 to 2.22.0
([#&#8203;11980](https://redirect.github.com/apache/maven/pull/11980))
@&#8203;[dependabot\[bot\]](https://redirect.github.com/apps/dependabot)
- Bump com.google.guava:guava from 33.5.0-jre to 33.6.0-jre
([#&#8203;11951](https://redirect.github.com/apache/maven/pull/11951))
@&#8203;[dependabot\[bot\]](https://redirect.github.com/apps/dependabot)
- Bump actions/cache from 5.0.4 to 5.0.5
([#&#8203;11943](https://redirect.github.com/apache/maven/pull/11943))
@&#8203;[dependabot\[bot\]](https://redirect.github.com/apps/dependabot)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzkuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE3OS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…r-plugin to v3.6.3 (#2125)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[org.apache.maven.plugins:maven-enforcer-plugin](https://maven.apache.org/enforcer/)
([source](https://redirect.github.com/apache/maven-enforcer)) | `3.6.2`
→ `3.6.3` |
![age](https://developer.mend.io/api/mc/badges/age/maven/org.apache.maven.plugins:maven-enforcer-plugin/3.6.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.apache.maven.plugins:maven-enforcer-plugin/3.6.2/3.6.3?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…emetry-instrumentation-bom-alpha to v2.28.0-alpha (#2127)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation)
| `2.27.0-alpha` → `2.28.0-alpha` |
![age](https://developer.mend.io/api/mc/badges/age/maven/io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha/2.28.0-alpha?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha/2.27.0-alpha/2.28.0-alpha?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…emetry-instrumentation-bom-alpha to v2.28.0-alpha (#2126)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation)
| `2.27.0-alpha` → `2.28.0-alpha` |
![age](https://developer.mend.io/api/mc/badges/age/maven/io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha/2.28.0-alpha?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha/2.27.0-alpha/2.28.0-alpha?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE4Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…etricName()` (#2124)

Fixes #2087.

Supersedes #2094 with the same fix on a clean, signed-off commit so the
DCO
check can pass.

`sanitizeMetricName()` was simplified in 1.6.0 to return its input
unchanged
because any non-empty UTF-8 string is now a valid metric name. That
silently
broke downstream tools — notably the JMX Exporter and the simpleclient
bridge —
that call `sanitizeMetricName()` to normalize external names before
passing them
to snapshot builders.

The missing stripping means a JMX attribute that produces
`kafka_consumer_request_total` as a raw name is no longer sanitized to
`kafka_consumer_request`. With `inferCounterTypeFromName: true` this
triggers
unintended counter-type inference; with it `false` the metric is stored
under the
wrong name, breaking exact-name registry lookups.

## Changes

- Restore `RESERVED_METRIC_NAME_SUFFIXES` and the iterative
suffix-stripping loop
  in `PrometheusNaming.sanitizeMetricName()`.
- Keep the exact-match case, for example `"_total"` -> `"total"`, in a
dedicated
  pre-pass before the stripping loop.
- Update `PrometheusNamingTest` and `MetricMetadataTest` expectations.
- Add regression coverage for the JMX Exporter scenario and dot-variant
corner
  case, for example `.total`.

```java
// Before fix: suffix preserved -> metric stored as "kafka_consumer_request_total"
PrometheusNaming.sanitizeMetricName("kafka_consumer_request_total");

// After fix: suffix stripped -> metric stored as "kafka_consumer_request"
PrometheusNaming.sanitizeMetricName("kafka_consumer_request_total");
```

`Counter.builder().name("events_total")` is unaffected because the
builder API
does not go through `sanitizeMetricName()`.

## Validation

- `mise run build`

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Type | Update | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [protoc](https://redirect.github.com/protocolbuffers/protobuf) | |
major | `34.1` → `35.0` |
![age](https://developer.mend.io/api/mc/badges/age/github-releases/protocolbuffers%2fprotobuf/35.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/protocolbuffers%2fprotobuf/34.1/35.0?slim=true)
|
|
[com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/)
([source](https://redirect.github.com/protocolbuffers/protobuf)) |
compile | minor | `4.34.1` → `4.35.0` |
![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.protobuf:protobuf-java/4.35.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.protobuf:protobuf-java/4.34.1/4.35.0?slim=true)
|

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf (protoc)</summary>

###
[`v35.0`](https://redirect.github.com/protocolbuffers/protobuf/releases/tag/v35.0):
Protocol Buffers v35.0

[Compare
Source](https://redirect.github.com/protocolbuffers/protobuf/compare/v34.1...v35.0-rc2)

### Announcements

- This version includes potential breaking changes without a major
version bump to: Bazel.\*\*
- \[Bazel] Change @&#8203;protobuf//bazel/flags:prefer\_prebuilt\_proto
flag to True.
([`f9f32d2`](https://redirect.github.com/protocolbuffers/protobuf/commit/f9f32d28007ae692a494e70d6a5e808069938843))
- **This version includes potential breaking changes without a major
version bump to: Bazel.**
- [Protobuf News](https://protobuf.dev/news/) may include additional
announcements or pre-announcements for upcoming changes.

### Bazel

- Bazel 9 Support: Upgrade tests to Bazel 9
([`3ee8d8a`](https://redirect.github.com/protocolbuffers/protobuf/commit/3ee8d8a008a5696f61aa72327e2c4cf2ae068e00))
- Moved `protocopt` flag out of the `cc` dir, since it is not a
c++-specific flag.
([`325d8dc`](https://redirect.github.com/protocolbuffers/protobuf/commit/325d8dca2ffdc658824aa6b05d825dcb86cca2cb))
- Add support for bazel 9.x
([#&#8203;26201](https://redirect.github.com/protocolbuffers/protobuf/issues/26201))
([`f08d703`](https://redirect.github.com/protocolbuffers/protobuf/commit/f08d70329211dfd74584c3761da5da5e32ab34f3))
- Breaking change: Change
@&#8203;protobuf//bazel/flags:prefer\_prebuilt\_proto flag to True.
([`f9f32d2`](https://redirect.github.com/protocolbuffers/protobuf/commit/f9f32d28007ae692a494e70d6a5e808069938843))
- Dropped support for Bazel 7.
([`1816758`](https://redirect.github.com/protocolbuffers/protobuf/commit/181675806987071b1a9af6e22b881cf9c3dca73e))

### Compiler

- Implement the Edition 2026 naming style enforcement feature. This will
help prevent field name collisions.
([`ae0d964`](https://redirect.github.com/protocolbuffers/protobuf/commit/ae0d964699968a13977ceabfe7ed0127e125c624))
- Add enum to `enforce_naming_style` feature to avoid field naming
collisions which will be implemented in Edition 2026.
([`e4911a1`](https://redirect.github.com/protocolbuffers/protobuf/commit/e4911a17241386611643972b977edaf2ce83468f))
- Fail writing files in protoc CLI if any file output path is relative.
([`3bf2b07`](https://redirect.github.com/protocolbuffers/protobuf/commit/3bf2b07b2a77c8c8840031a3ef5867acf1b97f30))
- Mangle types named `XyzView` if there is any direct sibling named
`Xyz`
([`63d6ef0`](https://redirect.github.com/protocolbuffers/protobuf/commit/63d6ef01b0e669333dda6fd91728862725c38968))
- Improve the namespacing selected by rustc used for gencode types in
errors.
([`ce2eb73`](https://redirect.github.com/protocolbuffers/protobuf/commit/ce2eb733c7cb025c13a20735e8a8d005ba0fe19e))
- Fully qualify scalar types in Kotlin/Native proto generator.
([`adc8d22`](https://redirect.github.com/protocolbuffers/protobuf/commit/adc8d22a30cc8369d5976c8b2685374e938640a5))
- Change \_opt() accessors to return an std::Option instead of
protobuf::Optional
([`6ced612`](https://redirect.github.com/protocolbuffers/protobuf/commit/6ced6127bc5fb4d65ae0cbfad7a5625d7aceab23))
- Make Message's trait bounds much better for generic use
([`be1292f`](https://redirect.github.com/protocolbuffers/protobuf/commit/be1292fbe2fc84ad59b6365a7620625e30114181))
- Support more chars in type URLs in the C++ text-format parser.
([`3a87c6c`](https://redirect.github.com/protocolbuffers/protobuf/commit/3a87c6c1fd7fdb7f88540bf3f378f53d3ca1f00d))
- Validate Feature Support on Custom Options
([`34c1110`](https://redirect.github.com/protocolbuffers/protobuf/commit/34c1110d38f225b0edcb14db965d3a5130e3ab29))
- Trait clarity effort: introduce `Singular` trait, for types which are
allowed as simple fields
([`cdbfaf1`](https://redirect.github.com/protocolbuffers/protobuf/commit/cdbfaf118e9906c8ca7c27b641a8abafbd129b0b))
- Trait clarity improvement on Map traits
([`a8daa95`](https://redirect.github.com/protocolbuffers/protobuf/commit/a8daa95057bab1ca7f62830a539dc549359df78f))

### C++

- Workaround for attribute handling bug in gcc < 13
([`78dc67e`](https://redirect.github.com/protocolbuffers/protobuf/commit/78dc67e4d598d4e2ec8929105eb2ddbb4bf50935))
- Implement the Edition 2026 naming style enforcement feature. This will
help prevent field name collisions.
([`ae0d964`](https://redirect.github.com/protocolbuffers/protobuf/commit/ae0d964699968a13977ceabfe7ed0127e125c624))
- Add enum to `enforce_naming_style` feature to avoid field naming
collisions which will be implemented in Edition 2026.
([`e4911a1`](https://redirect.github.com/protocolbuffers/protobuf/commit/e4911a17241386611643972b977edaf2ce83468f))
- Enhance ParseInfoTree to provide location of names and values.
([`1cb4fdb`](https://redirect.github.com/protocolbuffers/protobuf/commit/1cb4fdb8eaaa60917cdbd23cf6f38fc5f1307054))
- Add integer overflow check to RepeatedPtrField::MergeFrom.
([`cb5fe97`](https://redirect.github.com/protocolbuffers/protobuf/commit/cb5fe976f319683934d8153bdedb21355ab2e008))
- Adding sanity check for `ListFields` reflection call
([`555360e`](https://redirect.github.com/protocolbuffers/protobuf/commit/555360e3b52f63e9a29d075c5e6900f7db7fdd2c))
- Introduce `Arena::UniquePtr` and `Arena::Ptr` as smart pointers to
better manage
([`bb00218`](https://redirect.github.com/protocolbuffers/protobuf/commit/bb002180b59c957e6b2f0dddecf0e90ef5a26723))
- Bug fix for edition 2024 visibility checking. Visibility checking was
not properly applied to service method input and output types. This is
now applied properly and will error if method input/output types do not
have visibility to those messages.
([`5a56dee`](https://redirect.github.com/protocolbuffers/protobuf/commit/5a56dee4de2b6e6ffcd963054d100fc610171427))
- Fixed data race in Python Free Threading by removing unnecessary
`SetHasBitForRepeated()` call.
([`8c1a9a4`](https://redirect.github.com/protocolbuffers/protobuf/commit/8c1a9a4b0163eded7d9ff0c255507ed3163caf1f))
- Add support for bazel 9.x
([#&#8203;26201](https://redirect.github.com/protocolbuffers/protobuf/issues/26201))
([`f08d703`](https://redirect.github.com/protocolbuffers/protobuf/commit/f08d70329211dfd74584c3761da5da5e32ab34f3))
- Add `proto2::sort`/`stable_sort` utilities that behave as the standard
ones but are optimized for Protobuf containers.
([`252281f`](https://redirect.github.com/protocolbuffers/protobuf/commit/252281f6be6df834a0f64a7f8d085c0bd679d1da))
- Add `proto2::erase`/`erase_if` utilities that behave as the standard
ones but are optimized for Protobuf containers.
([`dc9fb35`](https://redirect.github.com/protocolbuffers/protobuf/commit/dc9fb354dbb75c730cb57856a909015aac5d9595))
- Extend Abseil flag support for enums to include std::vector<Enum>.
([`bd42ac6`](https://redirect.github.com/protocolbuffers/protobuf/commit/bd42ac6b29603d5ba62d05d8f0dac6064d959b0d))
- Dropped support for Bazel 7.
([`1816758`](https://redirect.github.com/protocolbuffers/protobuf/commit/181675806987071b1a9af6e22b881cf9c3dca73e))
- Add native Abseil flag support to protobuf message types.
([`ec42e19`](https://redirect.github.com/protocolbuffers/protobuf/commit/ec42e190317343e78a5be17962a57e45e3ff439d))
- Support more chars in type URLs in the C++ text-format parser.
([`3a87c6c`](https://redirect.github.com/protocolbuffers/protobuf/commit/3a87c6c1fd7fdb7f88540bf3f378f53d3ca1f00d))
- Stripping empty options
([`d5d6d4c`](https://redirect.github.com/protocolbuffers/protobuf/commit/d5d6d4c89ef7f23b847d9e4fa459e57a4393b28d))
- Creating generic MaybeAddError helper function
([`4bcf773`](https://redirect.github.com/protocolbuffers/protobuf/commit/4bcf773b240132846e8dc3361b7e629fc0926ebb))
- Validate Feature Support on Custom Options
([`34c1110`](https://redirect.github.com/protocolbuffers/protobuf/commit/34c1110d38f225b0edcb14db965d3a5130e3ab29))
- Add bounds checks to `UnsafeArenaExtractSubrange`, `ReleaseLast` and
`SwapElements`.
([`d124c2d`](https://redirect.github.com/protocolbuffers/protobuf/commit/d124c2dc26841e5ee0b8d1505438fcf0660c9db0))
- Fix UTF-8 Validation of string extensions in C++
([`0936f33`](https://redirect.github.com/protocolbuffers/protobuf/commit/0936f33595ef736726f191c087eaabbc5d1c5fc6))
- Remove first implementation of protobuf out of bounds enforcement.
([`507f86b`](https://redirect.github.com/protocolbuffers/protobuf/commit/507f86bd3a9acdffaff10a32e8b48456b2559783))
- Add native Abseil flag support to protobuf enums.
([`a203388`](https://redirect.github.com/protocolbuffers/protobuf/commit/a203388028fc5e3374d30ff3a385202a330fbefb))
- Improve EINTR handling for close in `zero_copy_stream_impl.h`
([`a904af9`](https://redirect.github.com/protocolbuffers/protobuf/commit/a904af9cc8597eea47b3d4c657dd4f36eefa1145))
- Add cc\_proto\_library for MessageSet in //src/google/protobuf/bridge
([`6d23e8e`](https://redirect.github.com/protocolbuffers/protobuf/commit/6d23e8ec14908edda3fdb44027eb87b90499f789))

### Java

- Add BytecodeClassName functions, matching helpers in the java
GeneratorNames utility.
([`514aceb`](https://redirect.github.com/protocolbuffers/protobuf/commit/514aceb974fbd55031169b79d2bd9f7646157787))
- Add enum to `enforce_naming_style` feature to avoid field naming
collisions which will be implemented in Edition 2026.
([`e4911a1`](https://redirect.github.com/protocolbuffers/protobuf/commit/e4911a17241386611643972b977edaf2ce83468f))
- Avoid toBigIntegerExact in JsonFormat to avoid degenerate parse
behavior in the face of large exponents.
([`57093a8`](https://redirect.github.com/protocolbuffers/protobuf/commit/57093a8bd5cb44211f323519a0045b883475666f))
- Dropped support for Bazel 7.
([`1816758`](https://redirect.github.com/protocolbuffers/protobuf/commit/181675806987071b1a9af6e22b881cf9c3dca73e))
- Add native Abseil flag support to protobuf enums.
([`a203388`](https://redirect.github.com/protocolbuffers/protobuf/commit/a203388028fc5e3374d30ff3a385202a330fbefb))

### Csharp

- Implement WriteDelimitedTo(BufferWriter<byte>)
([#&#8203;21325](https://redirect.github.com/protocolbuffers/protobuf/issues/21325))
([`407f457`](https://redirect.github.com/protocolbuffers/protobuf/commit/407f4570b201293783f5416cdaae493366bc6b14))
- Add an "include" directory containing WKTs for Google.Protobuf.Tools
nuget package.
([`6029d17`](https://redirect.github.com/protocolbuffers/protobuf/commit/6029d174f2eed7a64ad3a42182d08f2f3e66fcf6))

### Objective-C

- ObjC: Block Roots from being created.
([`8274114`](https://redirect.github.com/protocolbuffers/protobuf/commit/827411455abe4a62dd11b2c8afb15a594ff35b42))
- Fix naming convention in c\_function extension syntax
([`e3bee07`](https://redirect.github.com/protocolbuffers/protobuf/commit/e3bee077db853dc0d6e8e04d1e3071018e222faf))
- Modify unit tests to use c\_function extension syntax via ifdefs
([`e1f2f52`](https://redirect.github.com/protocolbuffers/protobuf/commit/e1f2f5272097cfd44dac849d7906b11445e93d38))

### Rust

- Mangle types named `XyzView` if there is any direct sibling named
`Xyz`
([`63d6ef0`](https://redirect.github.com/protocolbuffers/protobuf/commit/63d6ef01b0e669333dda6fd91728862725c38968))
- Improve the namespacing selected by rustc used for gencode types in
errors.
([`ce2eb73`](https://redirect.github.com/protocolbuffers/protobuf/commit/ce2eb733c7cb025c13a20735e8a8d005ba0fe19e))
- Allow ProtoStr to be used in const contexts.
([`7f7b974`](https://redirect.github.com/protocolbuffers/protobuf/commit/7f7b974fce500ad67ddb9aaa517c0bd6796d479d))
- Make any \&T impl AsView if T impl AsView
([`d787869`](https://redirect.github.com/protocolbuffers/protobuf/commit/d787869082f031e561d0dc7f31e5cfc03848bd15))
- Change \_opt() accessors to return an std::Option instead of
protobuf::Optional
([`6ced612`](https://redirect.github.com/protocolbuffers/protobuf/commit/6ced6127bc5fb4d65ae0cbfad7a5625d7aceab23))
- Add some common methods to ProtoStr to make it more ergonomic to use
without dropping down to &\[u8]
([`f8daf2f`](https://redirect.github.com/protocolbuffers/protobuf/commit/f8daf2fabc8601e69c547fbf8c0addb6d6837e47))
- Ffi\_11: Define basic arithmetic operations and comparison with
underlying type
([`74b6f3f`](https://redirect.github.com/protocolbuffers/protobuf/commit/74b6f3fe0b9a80205309083ab88bd2ab012ed1eb))
- Make Message's trait bounds much better for generic use
([`be1292f`](https://redirect.github.com/protocolbuffers/protobuf/commit/be1292fbe2fc84ad59b6365a7620625e30114181))
- Remove ProxiedInMapValue alias, since it is superceded by MapValue
([`5bde6e8`](https://redirect.github.com/protocolbuffers/protobuf/commit/5bde6e8d3134cdf67a513cbff403d19526df11ad))
- Add fn push\_default(\&mut self) -> SomeMsgMut<> fn for Repeated
message type fields.
([`a3bf3ec`](https://redirect.github.com/protocolbuffers/protobuf/commit/a3bf3ec75512e8bc89334b2e245924ad15f6352c))
- Fix that f32 and f64 were incorrectly tagged as legal for MapKeys in
RustProto.
([`ab3793e`](https://redirect.github.com/protocolbuffers/protobuf/commit/ab3793e7a8f6270081cc0e74ba2ffd7b7ee35159))
- Trait clarity effort: introduce `Singular` trait, for types which are
allowed as simple fields
([`cdbfaf1`](https://redirect.github.com/protocolbuffers/protobuf/commit/cdbfaf118e9906c8ca7c27b641a8abafbd129b0b))
- Trait clarity improvement on Map traits
([`a8daa95`](https://redirect.github.com/protocolbuffers/protobuf/commit/a8daa95057bab1ca7f62830a539dc549359df78f))
- *See also UPB changes below, which may affect Rust.*

### Python

- Fix Python text\_format by adding an optional recursion depth limit
([#&#8203;26604](https://redirect.github.com/protocolbuffers/protobuf/issues/26604))
([`8abff6b`](https://redirect.github.com/protocolbuffers/protobuf/commit/8abff6bb4b36575159bf247f3da62f4efa742bdd))
- Fix data race in CMessage lazy initialization for Python
freethreading.
([`28e4512`](https://redirect.github.com/protocolbuffers/protobuf/commit/28e451233d38148856587c96bd8864b7e9767587))
- Fixed data race in Python Free Threading by removing unnecessary
`SetHasBitForRepeated()` call.
([`8c1a9a4`](https://redirect.github.com/protocolbuffers/protobuf/commit/8c1a9a4b0163eded7d9ff0c255507ed3163caf1f))
- Fix type annotation for FindAllExtensionNumbers() to be a list rather
than the more general Iterator.
([`3edd615`](https://redirect.github.com/protocolbuffers/protobuf/commit/3edd61508bed8b58e5190b6c28884d3e21cf5bdc))
- Add type hints to descriptor\_database.py.
([`cbe6403`](https://redirect.github.com/protocolbuffers/protobuf/commit/cbe6403761a4fa349c6612102f048ff584441f09))
- Fixed a bug in `msg.MergeFrom(msg2)` in Python.
([`ab14c0f`](https://redirect.github.com/protocolbuffers/protobuf/commit/ab14c0f8ad88109b99205af9bd2ef961e991ea41))
- Fix NULL byte handling issue in Python Protobuf find symbols in pool
([`059dc7e`](https://redirect.github.com/protocolbuffers/protobuf/commit/059dc7ed3256bd6c247694d92e624590c52a400a))
- Add support for bazel 9.x
([#&#8203;26201](https://redirect.github.com/protocolbuffers/protobuf/issues/26201))
([`f08d703`](https://redirect.github.com/protocolbuffers/protobuf/commit/f08d70329211dfd74584c3761da5da5e32ab34f3))
- Add recursion guards for the following nested messages:
([`b4c3fec`](https://redirect.github.com/protocolbuffers/protobuf/commit/b4c3fecb8599b84967f293806d2db54aff77664b))
- Protobuf Python UPB Free Threading support.
([`f10c1de`](https://redirect.github.com/protocolbuffers/protobuf/commit/f10c1de25fa7285a41978e5d054d03c48d19b9f1))
- Fix Any recursion depth bypass in Python json\_format.ParseDict
([#&#8203;25239](https://redirect.github.com/protocolbuffers/protobuf/issues/25239))
([`d2b0016`](https://redirect.github.com/protocolbuffers/protobuf/commit/d2b001626d137c62dfee6c88c87324102531868b))
- Supports exporting `int` as `int`
([`ea78297`](https://redirect.github.com/protocolbuffers/protobuf/commit/ea78297e0a85dfd319381748d7c93dc69d2c5958))

### PHP

- Fail writing files in protoc CLI if any file output path is relative.
([`3bf2b07`](https://redirect.github.com/protocolbuffers/protobuf/commit/3bf2b07b2a77c8c8840031a3ef5867acf1b97f30))

##### PHP C-Extension

- Fix 1-byte stack overflow in PHP extension int64 formatting
([#&#8203;26530](https://redirect.github.com/protocolbuffers/protobuf/issues/26530))
([`3f04505`](https://redirect.github.com/protocolbuffers/protobuf/commit/3f045053e2a3fe55d0e3bf2b14d4d29e4f863fd5))
- *See also UPB changes below, which may affect PHP C-Extension.*

### Ruby

- Gracefully handle payloads >2GB.
([`918ad5b`](https://redirect.github.com/protocolbuffers/protobuf/commit/918ad5bff3f174a417dded6b58ceab4cf6720e65))

##### Ruby C-Extension

- Gracefully handle payloads >2GB.
([`918ad5b`](https://redirect.github.com/protocolbuffers/protobuf/commit/918ad5bff3f174a417dded6b58ceab4cf6720e65))
- *See also UPB changes below, which may affect Ruby C-Extension.*

### UPB (Python/PHP/Ruby C-Extension)

- Fixed two GCC-only issues around upb's generated extension registry.
- Avoid theoretical overflow of uintptr\_t in AddAllLinkedExtensions
([`e7785e0`](https://redirect.github.com/protocolbuffers/protobuf/commit/e7785e0509aab295692061fb569c00645d3ef3a4))
- Test(proto): Add message to test oneof name conflict resolution
([`29476e1`](https://redirect.github.com/protocolbuffers/protobuf/commit/29476e1a91dc3dfbc10a8d4a5bce998896452258))
- Add recursion guards for the following nested messages:
([`b4c3fec`](https://redirect.github.com/protocolbuffers/protobuf/commit/b4c3fecb8599b84967f293806d2db54aff77664b))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…emetry-instrumentation-bom-alpha to v2.28.1-alpha (#2132)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation)
| `2.28.0-alpha` → `2.28.1-alpha` |
![age](https://developer.mend.io/api/mc/badges/age/maven/io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha/2.28.1-alpha?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha/2.28.0-alpha/2.28.1-alpha?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…emetry-instrumentation-bom-alpha to v2.28.1-alpha (#2133)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha](https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation)
| `2.28.0-alpha` → `2.28.1-alpha` |
![age](https://developer.mend.io/api/mc/badges/age/maven/io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha/2.28.1-alpha?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha/2.28.0-alpha/2.28.1-alpha?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…pendencies to v6 (#2131)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[org.mock-server:mockserver-netty-no-dependencies](https://www.mock-server.com)
([source](https://redirect.github.com/mock-server/mockserver-monorepo))
| `5.15.0` → `6.0.0` |
![age](https://developer.mend.io/api/mc/badges/age/maven/org.mock-server:mockserver-netty-no-dependencies/6.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.mock-server:mockserver-netty-no-dependencies/5.15.0/6.0.0?slim=true)
|

---

### Release Notes

<details>
<summary>mock-server/mockserver-monorepo
(org.mock-server:mockserver-netty-no-dependencies)</summary>

###
[`v6.0.0`](https://redirect.github.com/mock-server/mockserver-monorepo/blob/HEAD/changelog.md#600---2026-05-21)

##### Added

**Protocol & transport**

- gRPC protocol mocking without a grpc-java dependency: upload a
Protobuf descriptor and mock unary, client-streaming, server-streaming,
and bidirectional-streaming RPCs; `GrpcStreamResponse` supports
multi-frame streaming responses
- GraphQL body matching: whitespace-normalised query comparison,
`operationName` matching, and `variablesSchema` JSON Schema validation
for variables
- binary request/response mocking via `BinaryRequestDefinition` and
`BinaryResponse` for non-HTTP protocols
- DNS mocking with `dnsEnabled`/`dnsPort` configuration and support for
A, AAAA, CNAME, MX, SRV, TXT, and PTR record types
- IPv6 CONNECT proxy support including correctly bracketed IPv6 address
handling in the `CONNECT` tunnel

**Request matching**

- probabilistic expectation matching: set a `percentage` field (0–100)
on an expectation so only a fraction of matching requests are served by
it, enabling fault-injection scenarios (fixes
[#&#8203;2122](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2122))
- HTTP method factory methods on `HttpRequest`: `HttpRequest.get(path)`,
`.post(path)`, `.put(path)`, `.delete(path)`, `.patch(path)`,
`.head(path)`, `.options(path)` for more concise expectation definitions
(fixes
[#&#8203;1509](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1509))

**Responses & actions**

- multi-response expectations: define an `httpResponses` list with a
`responseMode` of `SEQUENTIAL` (cycle repeatedly through the list in
order) or `RANDOM` (pick at random) to serve different responses on
successive matched requests
- multi-action expectations: compose response, forward, and callback
actions in a single expectation with a primary action and post-action
callbacks
- stateful scenarios with atomic state transitions: gate expectations
behind named states and advance through them by setting
`newScenarioState` on the expectation, making it straightforward to
model multi-step protocols
- CRUD simulation via `PUT /mockserver/crud`: supply a data model and
MockServer auto-generates a fully stateful REST API (list, create, read,
update, delete) backed by an in-memory store
- `FileBody` response body type that loads content from a file path at
response time, useful for large or binary payloads (fixes
[#&#8203;2163](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2163))
- in-memory file store: upload files via `PUT /mockserver/files/store`,
retrieve via `PUT /mockserver/files/retrieve`, list via `PUT
/mockserver/files/list`, and delete via `PUT /mockserver/files/delete`;
stored files can be referenced by `FileBody` (fixes
[#&#8203;1652](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1652))
- `respondBeforeBody` flag on the request matcher to dispatch the
configured response (and optionally close the connection) before
MockServer reads the request body, useful for reproducing client
behaviour when a server responds and closes mid-upload (fixes
[#&#8203;1831](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1831))

**Delays & timing**

- response delays with statistical distributions (uniform, Gaussian,
log-normal) for realistic latency simulation (fixes
[#&#8203;1688](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1688))
- global response delay via `mockserver.globalResponseDelayMillis`
configuration property to add a baseline delay to every response
- connection timeout emulation via `mockserver.connectionDelayMillis`
configuration property: a configurable delay before protocol detection
fires, so slow-connect scenarios can be tested without a real network
(fixes
[#&#8203;1604](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1604))
- chunked dribble delay via `ConnectionOptions.withChunkSize()` /
`withChunkDelay()` to drip-feed any response body in configurable-size
chunks at a configurable rate

**Response templates**

- template helper functions: JWT generation, string manipulation, JSON
path extraction, date arithmetic, and math operations available inside
JavaScript, Velocity, and Mustache templates

**Record & replay**

- HAR 1.2 export: pass `format=HAR` to the retrieve API to get a
standard HAR file of all recorded requests and responses (fixes
[#&#8203;2175](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2175))
- automatic persistence of recorded expectations:
`persistRecordedExpectations` and `persistedRecordedExpectationsPath`
configuration properties save recorded traffic to disk so it survives
restarts (fixes
[#&#8203;2175](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2175))

**Debugging & diagnostics**

- per-expectation match count tracking: each expectation now exposes an
invocation counter so tests can assert exactly how many times an
endpoint was hit
- closest-match tracking: when a request does not match any expectation,
MockServer identifies the expectation with the most fields satisfied and
surfaces it via the API and dashboard
- `debugMismatch()` client method and `PUT /mockserver/debugMismatch`
endpoint to programmatically retrieve the closest-match analysis for the
last unmatched request
- match failure hints: actionable suggestions attached to
`EXPECTATION_NOT_MATCHED` log events to guide correction of common
mistakes
- "Why didn't this match?" debug dialog in the dashboard: click any
unmatched request to see a field-by-field comparison against the closest
expectation with per-field pass/fail indicators
- expectation ID included in `EXPECTATION_NOT_MATCHED` log messages to
make it easier to correlate log output with the intended expectation
(fixes
[#&#8203;1937](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1937))

**Logging**

- compact log format: set `mockserver.compactLogFormat=true` to emit
single-line JSON log entries instead of multi-line formatted output
(fixes
[#&#8203;1510](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1510))
- per-category log level overrides via `mockserver.logLevelOverrides` so
individual event types can have different log levels (fixes
[#&#8203;1694](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1694))
- correlation ID retrieval: `retrieveLogsByCorrelationId()` client
method and a correlationId chip in the dashboard for tracing a single
request across all related log events
- `retrieveLogEntries()` client method returning typed `LogEntry`
objects with optional time-range filtering; pass `LOG_ENTRIES` as the
format to the retrieve API for programmatic access
- custom log event listener via a `Consumer<LogEntry>` callback
registered with the `Configuration` object, enabling integration with
external observability tools (fixes
[#&#8203;1960](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1960))

**Proxy & forwarding configuration**

- `mockserver.forwardDefaultHostHeader` configuration property: set a
specific `Host` header value to send on all forwarded requests,
overriding the original client `Host` header (fixes
[#&#8203;1782](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1782))
- `mockserver.proxyRemoteHost` and `mockserver.proxyRemotePort`
configuration properties to route all proxy traffic through an upstream
proxy (fixes
[#&#8203;1753](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1753))
- request forwarding timings captured per forwarded request: both
connect time and total round-trip time are available in the log and
dashboard (fixes
[#&#8203;1574](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1574))

**OpenAPI**

- OpenAPI callback support: MockServer reads `callbacks` entries in an
OpenAPI specification and automatically creates `AfterAction` webhook
expectations (fixes
[#&#8203;1483](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1483))

**TLS & security**

- BouncyCastle FIPS provider support for environments that require FIPS
140-2 compliant cryptography (fixes
[#&#8203;1769](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1769))
- support for custom TLS protocols TLSv1.2 and TLSv1.3
- better error messages when MockServerClient fails due to TLS or
networking errors

**Client & test integration**

- `@MockServerTest` now applies `mockserver.*` prefixed properties to
the per-instance MockServer `Configuration` object, enabling declarative
configuration of `initializationClass`, `logLevel`, `maxExpectations`,
and other settings directly in the annotation (fixes
[#&#8203;1554](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1554))
- Jackson `StreamReadConstraints` maximum string length raised to 100 MB
to handle large JSON bodies without `StreamConstraintsException` (fixes
[#&#8203;1754](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1754))

**Build & deployment**

- Maven plugin `initializationJson` now accepts glob patterns to load
multiple expectation files from a directory (fixes
[#&#8203;2231](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2231))
- `mockserver/mockserver:graaljs` Docker image tag that bundles the
GraalJS engine JARs, enabling native ECMAScript 2022 support in response
templates without Nashorn
- Docker HEALTHCHECK instruction added to all official images so
container orchestrators can determine readiness without an external
probe
- Helm chart `podLabels` value to attach arbitrary labels to MockServer
pods, useful for service-mesh injection and internal routing rules
(fixes
[#&#8203;1884](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1884))

##### Changed

- BREAKING: removed implicit reliance on internal
java-certificate-classes (thanks to
[@&#8203;Arkinator](https://redirect.github.com/Arkinator))
- BREAKING: the `classifier=shaded` form of `mockserver-client-java`,
`mockserver-netty`, `mockserver-junit-jupiter`, `mockserver-junit-rule`,
and `mockserver-spring-test-listener` is no longer published. Use the
corresponding `*-no-dependencies` artifactId instead (e.g. depend on
`mockserver-netty-no-dependencies` rather than `mockserver-netty` with
`<classifier>shaded</classifier>`). The `*-no-dependencies` variants are
now proper Maven modules and are the supported way to consume a shaded
MockServer jar.

##### Fixed

**Proxy & forwarding**

- proxy forwarding failures now return `502 Bad Gateway` instead of `404
Not Found`, making it clearer to clients that the upstream could not be
reached (fixes
[#&#8203;1519](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1519))
- `Host` header updated to match the forwarding target to prevent `421
Misdirected Request` errors from strict servers (fixes
[#&#8203;1897](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1897))
- request/response bodies with `Content-Encoding` are now re-compressed
correctly when forwarding, preventing garbled bodies on the upstream
(fixes
[#&#8203;1668](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1668))
- `Transfer-Encoding` header preserved on forwarded responses; spurious
`Content-Length` header no longer added when `Transfer-Encoding` is
present (fixes
[#&#8203;1733](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1733))

**Request & response handling**

- cookie values starting with `!` were corrupted in forwarded responses
(fixes
[#&#8203;1875](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1875))
- duplicate query parameter values are now preserved instead of being
deduplicated (fixes
[#&#8203;1866](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1866))
- binary response bodies (e.g. `application/octet-stream;
charset=utf-8`) were corrupted because a `charset` parameter in
`Content-Type` caused the body to be treated as a string; now correctly
treated as binary (fixes
[#&#8203;1910](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1910))
- JSON body serialization preserved numeric precision — `0.00` was
incorrectly serialized as `0.0` (fixes
[#&#8203;1740](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1740))

**OpenAPI**

- `ByteArraySchema` (`string` format `byte`) properties were omitted
from generated OpenAPI examples (fixes
[#&#8203;1788](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1788))
- `$ref` inside OpenAPI example values was not resolved, leading to raw
`$ref` strings in generated responses (fixes
[#&#8203;1474](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1474))
- `allOf`/`anyOf`/`oneOf` composed schemas now generate merged example
responses (fixes
[#&#8203;1852](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1852))
- OAS 3.0 boolean `exclusiveMinimum`/`exclusiveMaximum` now correctly
translated to JSON Schema Draft-07 numeric format (fixes
[#&#8203;1896](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1896))
- OpenAPI 3.1 `types` array field now correctly preserved during schema
serialization (fixes
[#&#8203;1940](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1940))

**XML**

- XSD schemas with `xs:include` or `xs:import` using relative paths now
resolve correctly (fixes
[#&#8203;2118](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2118))

**JUnit & Spring integration**

- `@MockServerTest` field injection now works in `@Nested` JUnit 5 test
classes (fixes
[#&#8203;1979](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1979))
- double server start when `@MockServerSettings` (carrying
`@ExtendWith`) is combined with explicit `MockServerExtension`
registration is now prevented (fixes
[#&#8203;1977](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1977))
- `clientCertificateChain`, `localAddress`, and `remoteAddress` fields
on `HttpRequest` were serialized but not deserialized — both directions
now work (fixes
[#&#8203;1973](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1973))
- `MockServerClient` parameter injection now works with
`@TestInstance(PER_CLASS)` where the test instance is created before
`@BeforeAll` (fixes
[#&#8203;1621](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1621))
- `ClassNotFoundException` for callback classes when running in a Spring
Boot uber JAR (fixes
[#&#8203;1571](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1571))

**Dashboard & WebSocket**

- dashboard WebSocket returned 404 when MockServer was running behind a
reverse proxy with a path prefix (fixes
[#&#8203;1693](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1693))
- HTTP/2 `CONNECT` proxy no longer hangs when the client advertises `h2`
via ALPN (fixes
[#&#8203;1933](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1933))
- WebSocket upgrade over HTTP/2 is now rejected cleanly instead of
hanging the dashboard (fixes
[#&#8203;1803](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1803))

**Concurrency & thread safety**

- `Times.remainingTimes()` made thread-safe with `AtomicInteger` to
prevent race conditions under concurrent load (fixes
[#&#8203;1834](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1834))
- `XmlStringMatcher` made thread-safe by creating a new `DiffBuilder`
per match instead of sharing one (fixes
[#&#8203;1796](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1796))
- Disruptor ring buffer is drained before `verify()` to prevent
false-positive or false-negative results under high throughput (fixes
[#&#8203;1757](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1757))
- expired TTL expectations are now filtered from the event bus and event
bus subscribers are cleared after publish to prevent stale matches
(fixes
[#&#8203;1847](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1847),
[#&#8203;1874](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1874))

**TLS & mTLS**

- mTLS (data-plane) enforcement moved from transport layer to
application layer, fixing scenarios where client certificate validation
was applied to non-mTLS connections (fixes
[#&#8203;1766](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1766))

**Docker & deployment**

- Docker image and standalone executable JAR produced no log output
because the shaded server JAR did not include an SLF4J logging provider
(fixes
[#&#8203;2097](https://redirect.github.com/mock-server/mockserver-monorepo/issues/2097))
- `*-no-dependencies` shaded artifacts leaked their un-shaded source
module (and its transitive dependencies) onto consumers' classpaths;
these artifacts are now truly dependency-free
- `netty-tcnative` native libraries no longer bundled in the shaded JAR,
preventing native library conflicts (fixes
[#&#8203;1778](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1778))
- Helm chart sub-chart deployments generated conflicting Kubernetes
resource names when chart name was omitted (fixes
[#&#8203;1752](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1752))

**Glob & file initialization**

- glob brace expansion in `initializationJson` path failed to find the
starting directory in some environments (fixes
[#&#8203;1715](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1715))
- `WebSocket` channel leak when the `CircularHashMap` evicted the oldest
callback client (fixes
[#&#8203;1543](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1543))
- verify failure message incorrectly said "was not found" even when
matching requests existed; message now accurately describes the mismatch
(fixes
[#&#8203;1789](https://redirect.github.com/mock-server/mockserver-monorepo/issues/1789))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…o v0.152.1 (#2130)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[otel/opentelemetry-collector-contrib](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases)
| patch | `0.152.0` → `0.152.1` |

---

### Release Notes

<details>
<summary>open-telemetry/opentelemetry-collector-releases
(otel/opentelemetry-collector-contrib)</summary>

###
[`v0.152.1`](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases/blob/HEAD/CHANGELOG.md#v01521)

[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-collector-releases/compare/v0.152.0...v0.152.1)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/stale](https://redirect.github.com/actions/stale) | action |
minor | `v10.2.0` → `v10.3.0` |

---

### Release Notes

<details>
<summary>actions/stale (actions/stale)</summary>

###
[`v10.3.0`](https://redirect.github.com/actions/stale/compare/v10.2.0...v10.3.0)

[Compare
Source](https://redirect.github.com/actions/stale/compare/v10.2.0...v10.3.0)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Draft validation PR for the unmodified Micrometer compatibility story.

This intentionally does **not** depend on #2114. Vanilla Micrometer does
not use
the typed descriptor API and does not implement the #1800 registration
metadata
hooks, so this PR validates the patch-compatible path independently of
typed
descriptors.

This validates upstream `micrometer-metrics/micrometer@main` against:

- current `main`, which already includes #2100 and #2124 (reserved
suffix
  stripping in `PrometheusNaming.sanitizeMetricName()`).
- Micrometer compatibility test tooling/workflow from
zeitlinger#1.

Local validation:

- `mise run lint`
- `MICROMETER_DIR=/tmp/micrometer-compat-vanilla-2124 mise run
micrometer:test`

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Co-authored-by: Jay DeLuca <jaydeluca4@gmail.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org)
([source](https://redirect.github.com/nodejs/node)) | minor | `24.15.0`
→ `24.16.0` |

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

###
[`v24.16.0`](https://redirect.github.com/nodejs/node/releases/tag/v24.16.0):
2026-05-21, Version 24.16.0 'Krypton' (LTS), @&#8203;aduh95

[Compare
Source](https://redirect.github.com/nodejs/node/compare/v24.15.0...v24.16.0)

##### Notable Changes

-
\[[`b267f6bca3`](https://redirect.github.com/nodejs/node/commit/b267f6bca3)]
- **(SEMVER-MINOR)** **crypto**: implement `randomUUIDv7()` (nabeel378)
[#&#8203;62553](https://redirect.github.com/nodejs/node/pull/62553)
-
\[[`ec2451b9cd`](https://redirect.github.com/nodejs/node/commit/ec2451b9cd)]
- **(SEMVER-MINOR)** **debugger**: add edit-free runtime expression
probes to `node inspect` (Joyee Cheung)
[#&#8203;62713](https://redirect.github.com/nodejs/node/pull/62713)
-
\[[`9705f628d9`](https://redirect.github.com/nodejs/node/commit/9705f628d9)]
- **(SEMVER-MINOR)** **fs**: add signal option to `fs.stat()` (Mert Can
Altin)
[#&#8203;57775](https://redirect.github.com/nodejs/node/pull/57775)
-
\[[`40ccfdecf9`](https://redirect.github.com/nodejs/node/commit/40ccfdecf9)]
- **(SEMVER-MINOR)** **fs**: expose `frsize` field in `statfs` (Jinho
Jang)
[#&#8203;62277](https://redirect.github.com/nodejs/node/pull/62277)
-
\[[`d7188af5c9`](https://redirect.github.com/nodejs/node/commit/d7188af5c9)]
- **(SEMVER-MINOR)** **http**: harden `ClientRequest` options merge
(Matteo Collina)
[#&#8203;63082](https://redirect.github.com/nodejs/node/pull/63082)
-
\[[`aa1d8a9afc`](https://redirect.github.com/nodejs/node/commit/aa1d8a9afc)]
- **(SEMVER-MINOR)** **http**: add `req.signal` to `IncomingMessage`
(Akshat)
[#&#8203;62541](https://redirect.github.com/nodejs/node/pull/62541)
-
\[[`6f37f7e240`](https://redirect.github.com/nodejs/node/commit/6f37f7e240)]
- **(SEMVER-MINOR)** **stream**: propagate destruction in `duplexPair`
(Ahmed Elhor)
[#&#8203;61098](https://redirect.github.com/nodejs/node/pull/61098)
-
\[[`d14029be7f`](https://redirect.github.com/nodejs/node/commit/d14029be7f)]
- **(SEMVER-MINOR)** **test\_runner**: support test order randomization
(Pietro Marchini)
[#&#8203;61747](https://redirect.github.com/nodejs/node/pull/61747)
-
\[[`d142c584cd`](https://redirect.github.com/nodejs/node/commit/d142c584cd)]
- **(SEMVER-MINOR)** **test\_runner**: align mock timeout api (sangwook)
[#&#8203;62820](https://redirect.github.com/nodejs/node/pull/62820)
-
\[[`01a9552585`](https://redirect.github.com/nodejs/node/commit/01a9552585)]
- **(SEMVER-MINOR)** **test\_runner**: add mock-timers support for
`AbortSignal.timeout` (DeveloperViraj)
[#&#8203;60751](https://redirect.github.com/nodejs/node/pull/60751)
-
\[[`00705a459a`](https://redirect.github.com/nodejs/node/commit/00705a459a)]
- **(SEMVER-MINOR)** **util**: colorize text with hex colors (Guilherme
Araújo)
[#&#8203;61556](https://redirect.github.com/nodejs/node/pull/61556)

##### Commits

-
\[[`dd72df060d`](https://redirect.github.com/nodejs/node/commit/dd72df060d)]
- **assert,util**: fix stale nested cycle memo entries (Ruben
Bridgewater)
[#&#8203;62509](https://redirect.github.com/nodejs/node/pull/62509)
-
\[[`add94f4bc3`](https://redirect.github.com/nodejs/node/commit/add94f4bc3)]
- **build**: track PDL files as inputs in inspector GN build (Robo)
[#&#8203;62888](https://redirect.github.com/nodejs/node/pull/62888)
-
\[[`1b1eb9e334`](https://redirect.github.com/nodejs/node/commit/1b1eb9e334)]
- **build**: remove redundant -fuse-linker-plugin from GCC LTO flags
(Daniel Lando)
[#&#8203;62667](https://redirect.github.com/nodejs/node/pull/62667)
-
\[[`8752b604ec`](https://redirect.github.com/nodejs/node/commit/8752b604ec)]
- **crypto**: deduplicate and canonicalize CryptoKey usages (Filip
Skokan)
[#&#8203;62902](https://redirect.github.com/nodejs/node/pull/62902)
-
\[[`341947e7fd`](https://redirect.github.com/nodejs/node/commit/341947e7fd)]
- **crypto**: reject unintended raw key format string input (Filip
Skokan)
[#&#8203;62974](https://redirect.github.com/nodejs/node/pull/62974)
-
\[[`28a78747fc`](https://redirect.github.com/nodejs/node/commit/28a78747fc)]
- **crypto**: remove Argon2 KDF derivation from its job setup (Filip
Skokan)
[#&#8203;62863](https://redirect.github.com/nodejs/node/pull/62863)
-
\[[`16e8c2b54d`](https://redirect.github.com/nodejs/node/commit/16e8c2b54d)]
- **crypto**: fix unsigned conversion of 4-byte RSA publicExponent
(DeepView Autofix)
[#&#8203;62839](https://redirect.github.com/nodejs/node/pull/62839)
-
\[[`eeae754a87`](https://redirect.github.com/nodejs/node/commit/eeae754a87)]
- **crypto**: reject inherited key type names (Jonathan Lopes)
[#&#8203;62875](https://redirect.github.com/nodejs/node/pull/62875)
-
\[[`9dd5540325`](https://redirect.github.com/nodejs/node/commit/9dd5540325)]
- **crypto**: add memory tracking for secureContext openssl objects
(Mert Can Altin)
[#&#8203;59051](https://redirect.github.com/nodejs/node/pull/59051)
-
\[[`b267f6bca3`](https://redirect.github.com/nodejs/node/commit/b267f6bca3)]
- **(SEMVER-MINOR)** **crypto**: implement randomUUIDv7() (nabeel378)
[#&#8203;62553](https://redirect.github.com/nodejs/node/pull/62553)
-
\[[`7597d204c1`](https://redirect.github.com/nodejs/node/commit/7597d204c1)]
- **crypto**: add support for
[`Ed25519`](https://redirect.github.com/nodejs/node/commit/Ed25519)
context parameter (Filip Skokan)
[#&#8203;62474](https://redirect.github.com/nodejs/node/pull/62474)
-
\[[`4bf85845da`](https://redirect.github.com/nodejs/node/commit/4bf85845da)]
- **debugger**: move ProbeInspectorSession and helpers to separate files
(Joyee Cheung)
[#&#8203;63013](https://redirect.github.com/nodejs/node/pull/63013)
-
\[[`ec2451b9cd`](https://redirect.github.com/nodejs/node/commit/ec2451b9cd)]
- **(SEMVER-MINOR)** **debugger**: add edit-free runtime expression
probes to `node inspect` (Joyee Cheung)
[#&#8203;62713](https://redirect.github.com/nodejs/node/pull/62713)
-
\[[`83e98f77b7`](https://redirect.github.com/nodejs/node/commit/83e98f77b7)]
- **deps**: update corepack to 0.35.0 (Node.js GitHub Bot)
[#&#8203;63375](https://redirect.github.com/nodejs/node/pull/63375)
-
\[[`ec8c6b939a`](https://redirect.github.com/nodejs/node/commit/ec8c6b939a)]
- **deps**: V8: cherry-pick
[`657d8de`](https://redirect.github.com/nodejs/node/commit/657d8de27427)
(Guy Bedford)
[#&#8203;62784](https://redirect.github.com/nodejs/node/pull/62784)
-
\[[`722c0c3274`](https://redirect.github.com/nodejs/node/commit/722c0c3274)]
- **deps**: update nghttp3 to 1.14.0 (Node.js GitHub Bot)
[#&#8203;61187](https://redirect.github.com/nodejs/node/pull/61187)
-
\[[`5304db93d3`](https://redirect.github.com/nodejs/node/commit/5304db93d3)]
- **deps**: update nghttp3 to 1.13.1 (Node.js GitHub Bot)
[#&#8203;60046](https://redirect.github.com/nodejs/node/pull/60046)
-
\[[`e073b3811d`](https://redirect.github.com/nodejs/node/commit/e073b3811d)]
- **deps**: update nghttp3 to 1.11.0 (James M Snell)
[#&#8203;59249](https://redirect.github.com/nodejs/node/pull/59249)
-
\[[`1d00313fb2`](https://redirect.github.com/nodejs/node/commit/1d00313fb2)]
- **deps**: update ngtcp2 to 1.14.0 (James M Snell)
[#&#8203;59249](https://redirect.github.com/nodejs/node/pull/59249)
-
\[[`8b3a4fc18f`](https://redirect.github.com/nodejs/node/commit/8b3a4fc18f)]
- **deps**: update amaro to 1.1.9 (Node.js GitHub Bot)
[#&#8203;63090](https://redirect.github.com/nodejs/node/pull/63090)
-
\[[`62fe0cfcd1`](https://redirect.github.com/nodejs/node/commit/62fe0cfcd1)]
- **deps**: update llhttp to 9.4.1 (Node.js GitHub Bot)
[#&#8203;63045](https://redirect.github.com/nodejs/node/pull/63045)
-
\[[`137e09c8e9`](https://redirect.github.com/nodejs/node/commit/137e09c8e9)]
- **deps**: update corepack to 0.34.7 (Node.js GitHub Bot)
[#&#8203;62810](https://redirect.github.com/nodejs/node/pull/62810)
-
\[[`14a4cb8fbc`](https://redirect.github.com/nodejs/node/commit/14a4cb8fbc)]
- **deps**: update timezone to 2026b (Node.js GitHub Bot)
[#&#8203;62962](https://redirect.github.com/nodejs/node/pull/62962)
-
\[[`3e1036583a`](https://redirect.github.com/nodejs/node/commit/3e1036583a)]
- **deps**: upgrade npm to 11.13.0 (npm team)
[#&#8203;62898](https://redirect.github.com/nodejs/node/pull/62898)
-
\[[`01dfe5961c`](https://redirect.github.com/nodejs/node/commit/01dfe5961c)]
- **deps**: cherry-pick
[libuv/libuv@`439a54b`](https://redirect.github.com/libuv/libuv/commit/439a54b)
(skooch)
[#&#8203;62881](https://redirect.github.com/nodejs/node/pull/62881)
-
\[[`6cd368b10c`](https://redirect.github.com/nodejs/node/commit/6cd368b10c)]
- **deps**: update sqlite to 3.53.0 (Node.js GitHub Bot)
[#&#8203;62699](https://redirect.github.com/nodejs/node/pull/62699)
-
\[[`f218a4f553`](https://redirect.github.com/nodejs/node/commit/f218a4f553)]
- **deps**: update nbytes to 0.1.4 (Node.js GitHub Bot)
[#&#8203;62698](https://redirect.github.com/nodejs/node/pull/62698)
-
\[[`b47688524a`](https://redirect.github.com/nodejs/node/commit/b47688524a)]
- **deps**: update archs files for openssl-3.5.6 (Node.js GitHub Bot)
[#&#8203;62629](https://redirect.github.com/nodejs/node/pull/62629)
-
\[[`d202e2d343`](https://redirect.github.com/nodejs/node/commit/d202e2d343)]
- **deps**: upgrade openssl sources to openssl-3.5.6 (Node.js GitHub
Bot) [#&#8203;62629](https://redirect.github.com/nodejs/node/pull/62629)
-
\[[`2faba66341`](https://redirect.github.com/nodejs/node/commit/2faba66341)]
- **deps**: update minimatch to 10.2.5 (Node.js GitHub Bot)
[#&#8203;62594](https://redirect.github.com/nodejs/node/pull/62594)
-
\[[`fa46c90c5d`](https://redirect.github.com/nodejs/node/commit/fa46c90c5d)]
- **deps**: update googletest to
[`d72f9c8`](https://redirect.github.com/nodejs/node/commit/d72f9c8aea6817cdf1ca0ac10887f328de7f3da2)
(Node.js GitHub Bot)
[#&#8203;62593](https://redirect.github.com/nodejs/node/pull/62593)
-
\[[`099ded5713`](https://redirect.github.com/nodejs/node/commit/099ded5713)]
- **deps**: update simdjson to 4.6.1 (Node.js GitHub Bot)
[#&#8203;62592](https://redirect.github.com/nodejs/node/pull/62592)
-
\[[`7ce95afe96`](https://redirect.github.com/nodejs/node/commit/7ce95afe96)]
- **deps**: libuv: cherry-pick
[`aabb765`](https://redirect.github.com/nodejs/node/commit/aabb7651de)
(Santiago Gimeno)
[#&#8203;62561](https://redirect.github.com/nodejs/node/pull/62561)
-
\[[`57ef845623`](https://redirect.github.com/nodejs/node/commit/57ef845623)]
- **deps**: update icu to 78.3 (Node.js GitHub Bot)
[#&#8203;62324](https://redirect.github.com/nodejs/node/pull/62324)
-
\[[`493ac40e12`](https://redirect.github.com/nodejs/node/commit/493ac40e12)]
- **deps**: update libuv to 1.52.1 (Node.js GitHub Bot)
[#&#8203;61829](https://redirect.github.com/nodejs/node/pull/61829)
-
\[[`b39508b368`](https://redirect.github.com/nodejs/node/commit/b39508b368)]
- **deps**: update undici to 7.25.0 (Node.js GitHub Bot)
[#&#8203;63011](https://redirect.github.com/nodejs/node/pull/63011)
-
\[[`cb67a925e9`](https://redirect.github.com/nodejs/node/commit/cb67a925e9)]
- **deps**: use npm undici\@&#8203;seven tag in `update-undici.sh`
(Matteo Collina)
[#&#8203;62739](https://redirect.github.com/nodejs/node/pull/62739)
-
\[[`aa1e0bc28b`](https://redirect.github.com/nodejs/node/commit/aa1e0bc28b)]
- **doc**: fix typos and inconsistencies in crypto.md and webcrypto.md
(Filip Skokan)
[#&#8203;62828](https://redirect.github.com/nodejs/node/pull/62828)
-
\[[`f2a1735ed9`](https://redirect.github.com/nodejs/node/commit/f2a1735ed9)]
- **doc**: fix duplicate word "to to" in util.styleText (Daijiro Wachi)
[#&#8203;62917](https://redirect.github.com/nodejs/node/pull/62917)
-
\[[`b6378e215c`](https://redirect.github.com/nodejs/node/commit/b6378e215c)]
- **doc**: fix node-config-schema (Сковорода Никита Андреевич)
[#&#8203;61596](https://redirect.github.com/nodejs/node/pull/61596)
-
\[[`233894a9ce`](https://redirect.github.com/nodejs/node/commit/233894a9ce)]
- **doc**: fix the TypeScript Execute (tsx) project link (David
Thornton)
[#&#8203;63093](https://redirect.github.com/nodejs/node/pull/63093)
-
\[[`5d97919f8f`](https://redirect.github.com/nodejs/node/commit/5d97919f8f)]
- **doc**: correct diagnostics\_channel built-in channel names (Bryan
English)
[#&#8203;62995](https://redirect.github.com/nodejs/node/pull/62995)
-
\[[`2a9ccc927e`](https://redirect.github.com/nodejs/node/commit/2a9ccc927e)]
- **doc**: use mjs/cjs blocks for callbackify null reason example
(Daijiro Wachi)
[#&#8203;62884](https://redirect.github.com/nodejs/node/pull/62884)
-
\[[`ef413b5358`](https://redirect.github.com/nodejs/node/commit/ef413b5358)]
- **doc**: fix typo in test.md (Rich Trott)
[#&#8203;62960](https://redirect.github.com/nodejs/node/pull/62960)
-
\[[`76f21c5070`](https://redirect.github.com/nodejs/node/commit/76f21c5070)]
- **doc**: correct typo in PR contribution instructions (Mike McCready)
[#&#8203;62738](https://redirect.github.com/nodejs/node/pull/62738)
-
\[[`ca02af1f7d`](https://redirect.github.com/nodejs/node/commit/ca02af1f7d)]
- **doc**: fix duplicate word "of of" in postMessageToThread (Daijiro
Wachi)
[#&#8203;62917](https://redirect.github.com/nodejs/node/pull/62917)
-
\[[`46c99ed526`](https://redirect.github.com/nodejs/node/commit/46c99ed526)]
- **doc**: fix duplicate word "for for" in compile cache (Daijiro Wachi)
[#&#8203;62917](https://redirect.github.com/nodejs/node/pull/62917)
-
\[[`1a60851734`](https://redirect.github.com/nodejs/node/commit/1a60851734)]
- **doc**: fix typo in dns.lookup options description (Daijiro Wachi)
[#&#8203;62882](https://redirect.github.com/nodejs/node/pull/62882)
-
\[[`169b5ea2ed`](https://redirect.github.com/nodejs/node/commit/169b5ea2ed)]
- **doc**: fix Argon2 parameter bounds (Tobias Nießen)
[#&#8203;62868](https://redirect.github.com/nodejs/node/pull/62868)
-
\[[`9a3a190f4e`](https://redirect.github.com/nodejs/node/commit/9a3a190f4e)]
- **doc**: clarify diffieHellman.generateKeys recomputes same key (Kit
Dallege)
[#&#8203;62205](https://redirect.github.com/nodejs/node/pull/62205)
-
\[[`0fba9e87d6`](https://redirect.github.com/nodejs/node/commit/0fba9e87d6)]
- **doc**: remove Ayase-252 and meixg from triagger team (Antoine du
Hamel)
[#&#8203;62841](https://redirect.github.com/nodejs/node/pull/62841)
-
\[[`9c700f3446`](https://redirect.github.com/nodejs/node/commit/9c700f3446)]
- **doc**: clarify dns.lookup() callback signature when all is true
(eungi)
[#&#8203;62800](https://redirect.github.com/nodejs/node/pull/62800)
-
\[[`6b7280bc17`](https://redirect.github.com/nodejs/node/commit/6b7280bc17)]
- **doc**: add experimental modules lifetime policy (Paolo Insogna)
[#&#8203;62753](https://redirect.github.com/nodejs/node/pull/62753)
-
\[[`ce47ea31c9`](https://redirect.github.com/nodejs/node/commit/ce47ea31c9)]
- **doc**: clarify process.\_debugProcess() in Permission Model (Fahad
Khan)
[#&#8203;62537](https://redirect.github.com/nodejs/node/pull/62537)
-
\[[`ba01633757`](https://redirect.github.com/nodejs/node/commit/ba01633757)]
- **doc**: fix typo in devcontainer guide (Rohan Santhosh Kumar)
[#&#8203;62687](https://redirect.github.com/nodejs/node/pull/62687)
-
\[[`70b4d5839b`](https://redirect.github.com/nodejs/node/commit/70b4d5839b)]
- **doc**: clarify Backport-PR-URL metadata added automatically (Mike
McCready)
[#&#8203;62668](https://redirect.github.com/nodejs/node/pull/62668)
-
\[[`8126d1c3eb`](https://redirect.github.com/nodejs/node/commit/8126d1c3eb)]
- **doc**: update WPT test runner README.md (Filip Skokan)
[#&#8203;62680](https://redirect.github.com/nodejs/node/pull/62680)
-
\[[`978afea4b5`](https://redirect.github.com/nodejs/node/commit/978afea4b5)]
- **doc**: fix spelling in release announcement guidance (Rohan Santhosh
Kumar)
[#&#8203;62663](https://redirect.github.com/nodejs/node/pull/62663)
-
\[[`1684ab8ff8`](https://redirect.github.com/nodejs/node/commit/1684ab8ff8)]
- **doc**: note non-monotonic clock in crypto.randomUUIDv7 (nabeel378)
[#&#8203;62600](https://redirect.github.com/nodejs/node/pull/62600)
-
\[[`86d4f07930`](https://redirect.github.com/nodejs/node/commit/86d4f07930)]
- **doc**: update bug bounty program (Rafael Gonzaga)
[#&#8203;62590](https://redirect.github.com/nodejs/node/pull/62590)
-
\[[`736ed8a08f`](https://redirect.github.com/nodejs/node/commit/736ed8a08f)]
- **doc**: document TransformStream transformer.cancel option (Tom
Pereira)
[#&#8203;62566](https://redirect.github.com/nodejs/node/pull/62566)
-
\[[`938af9be01`](https://redirect.github.com/nodejs/node/commit/938af9be01)]
- **doc**: mention test runner retry attemp is zero based (Moshe Atlow)
[#&#8203;62504](https://redirect.github.com/nodejs/node/pull/62504)
-
\[[`94433e450f`](https://redirect.github.com/nodejs/node/commit/94433e450f)]
- **doc,src,test**: fix dead inspector help URL (semimikoh)
[#&#8203;62745](https://redirect.github.com/nodejs/node/pull/62745)
-
\[[`ddf1f01659`](https://redirect.github.com/nodejs/node/commit/ddf1f01659)]
- **esm**: add `ERR_REQUIRE_ESM_RACE_CONDITION` (Antoine du Hamel)
[#&#8203;62462](https://redirect.github.com/nodejs/node/pull/62462)
-
\[[`4a506acd16`](https://redirect.github.com/nodejs/node/commit/4a506acd16)]
- **fs**: add followSymlinks option to glob (Matteo Collina)
[#&#8203;62695](https://redirect.github.com/nodejs/node/pull/62695)
-
\[[`f4ea495f9b`](https://redirect.github.com/nodejs/node/commit/f4ea495f9b)]
- **fs**: restore fs patchability in ESM loader (Joyee Cheung)
[#&#8203;62835](https://redirect.github.com/nodejs/node/pull/62835)
-
\[[`63c111cd60`](https://redirect.github.com/nodejs/node/commit/63c111cd60)]
- **fs**: validate position argument before length === 0 early return
(Edy Silva)
[#&#8203;62674](https://redirect.github.com/nodejs/node/pull/62674)
-
\[[`9705f628d9`](https://redirect.github.com/nodejs/node/commit/9705f628d9)]
- **(SEMVER-MINOR)** **fs**: add signal option to fs.stat() (Mert Can
Altin)
[#&#8203;57775](https://redirect.github.com/nodejs/node/pull/57775)
-
\[[`40ccfdecf9`](https://redirect.github.com/nodejs/node/commit/40ccfdecf9)]
- **(SEMVER-MINOR)** **fs**: expose frsize field in statfs (Jinho Jang)
[#&#8203;62277](https://redirect.github.com/nodejs/node/pull/62277)
-
\[[`717476a24e`](https://redirect.github.com/nodejs/node/commit/717476a24e)]
- **http**: emit 'drain' on OutgoingMessage only after buffers drain
(Robert Nagy)
[#&#8203;62936](https://redirect.github.com/nodejs/node/pull/62936)
-
\[[`d7188af5c9`](https://redirect.github.com/nodejs/node/commit/d7188af5c9)]
- **(SEMVER-MINOR)** **http**: harden ClientRequest options merge
(Matteo Collina)
[#&#8203;63082](https://redirect.github.com/nodejs/node/pull/63082)
-
\[[`64f15c274a`](https://redirect.github.com/nodejs/node/commit/64f15c274a)]
- **http**: fix leaked error listener on sync HTTP req create + destroy
(Tim Perry)
[#&#8203;62872](https://redirect.github.com/nodejs/node/pull/62872)
-
\[[`5c4798d799`](https://redirect.github.com/nodejs/node/commit/5c4798d799)]
- **http**: fix no\_proxy leading-dot suffix matching (Daijiro Wachi)
[#&#8203;62333](https://redirect.github.com/nodejs/node/pull/62333)
-
\[[`9f3bc70ae5`](https://redirect.github.com/nodejs/node/commit/9f3bc70ae5)]
- **http**: cleanup pipeline queue (Robert Nagy)
[#&#8203;62534](https://redirect.github.com/nodejs/node/pull/62534)
-
\[[`aa1d8a9afc`](https://redirect.github.com/nodejs/node/commit/aa1d8a9afc)]
- **(SEMVER-MINOR)** **http**: add req.signal to IncomingMessage
(Akshat)
[#&#8203;62541](https://redirect.github.com/nodejs/node/pull/62541)
-
\[[`900dc758ff`](https://redirect.github.com/nodejs/node/commit/900dc758ff)]
- **http2**: expose writable stream state on compat response (T)
[#&#8203;63003](https://redirect.github.com/nodejs/node/pull/63003)
-
\[[`b3bfe35912`](https://redirect.github.com/nodejs/node/commit/b3bfe35912)]
- **inspector**: coerce key and value to string in webstorage events
(Ali Hassan)
[#&#8203;62616](https://redirect.github.com/nodejs/node/pull/62616)
-
\[[`3dc3fb6ad8`](https://redirect.github.com/nodejs/node/commit/3dc3fb6ad8)]
- **inspector**: return errors when CDP protocol event emission fails
(Ryuhei Shima)
[#&#8203;62162](https://redirect.github.com/nodejs/node/pull/62162)
-
\[[`4f3f21bd7c`](https://redirect.github.com/nodejs/node/commit/4f3f21bd7c)]
- **inspector**: auto collect webstorage data (Ryuhei Shima)
[#&#8203;62145](https://redirect.github.com/nodejs/node/pull/62145)
-
\[[`36cc04189d`](https://redirect.github.com/nodejs/node/commit/36cc04189d)]
- **inspector**: initial support storage inspection (Ryuhei Shima)
[#&#8203;61139](https://redirect.github.com/nodejs/node/pull/61139)
-
\[[`1718bc3b9b`](https://redirect.github.com/nodejs/node/commit/1718bc3b9b)]
- **inspector**: fix absolute URLs in network http (bugyaluwang)
[#&#8203;62955](https://redirect.github.com/nodejs/node/pull/62955)
-
\[[`97e32c7a74`](https://redirect.github.com/nodejs/node/commit/97e32c7a74)]
- **lib**: avoid quadratic shift() in startup snapshot callback (Daijiro
Wachi)
[#&#8203;62914](https://redirect.github.com/nodejs/node/pull/62914)
-
\[[`25d2e999de`](https://redirect.github.com/nodejs/node/commit/25d2e999de)]
- **lib**: harden kKeyOps lookup with null prototype (Filip Skokan)
[#&#8203;62877](https://redirect.github.com/nodejs/node/pull/62877)
-
\[[`37d3913c8f`](https://redirect.github.com/nodejs/node/commit/37d3913c8f)]
- **lib**: short-circuit WebIDL BufferSource SAB check (Filip Skokan)
[#&#8203;62833](https://redirect.github.com/nodejs/node/pull/62833)
-
\[[`430c69d25f`](https://redirect.github.com/nodejs/node/commit/430c69d25f)]
- **lib**: use js-only implementation of `isDataView()` (René)
[#&#8203;62780](https://redirect.github.com/nodejs/node/pull/62780)
-
\[[`3ba0add6a0`](https://redirect.github.com/nodejs/node/commit/3ba0add6a0)]
- **lib**: fix lint in internal/webstreams/util.js (Filip Skokan)
[#&#8203;62806](https://redirect.github.com/nodejs/node/pull/62806)
-
\[[`9b95c41398`](https://redirect.github.com/nodejs/node/commit/9b95c41398)]
- **lib**: fix sequence argument handling in Blob constructor (Ms2ger)
[#&#8203;62179](https://redirect.github.com/nodejs/node/pull/62179)
-
\[[`314dacdbee`](https://redirect.github.com/nodejs/node/commit/314dacdbee)]
- **lib**: improve Web Cryptography key validation ordering (Filip
Skokan)
[#&#8203;62749](https://redirect.github.com/nodejs/node/pull/62749)
-
\[[`3d18162430`](https://redirect.github.com/nodejs/node/commit/3d18162430)]
- **lib**: reject SharedArrayBuffer in web APIs per spec (Ali Hassan)
[#&#8203;62632](https://redirect.github.com/nodejs/node/pull/62632)
-
\[[`ada3ce879d`](https://redirect.github.com/nodejs/node/commit/ada3ce879d)]
- **lib**: defer AbortSignal.any() following (sangwook)
[#&#8203;62367](https://redirect.github.com/nodejs/node/pull/62367)
-
\[[`b2981ec7eb`](https://redirect.github.com/nodejs/node/commit/b2981ec7eb)]
- **meta**: bump actions/download-artifact from 8.0.0 to 8.0.1
(dependabot\[bot])
[#&#8203;62549](https://redirect.github.com/nodejs/node/pull/62549)
-
\[[`7cd20667b5`](https://redirect.github.com/nodejs/node/commit/7cd20667b5)]
- **meta**: bump github/codeql-action from 4.35.1 to 4.35.3
(dependabot\[bot])
[#&#8203;63074](https://redirect.github.com/nodejs/node/pull/63074)
-
\[[`91a07cfe9f`](https://redirect.github.com/nodejs/node/commit/91a07cfe9f)]
- **meta**: bump Mozilla-Actions/sccache-action from 0.0.9 to 0.0.10
(dependabot\[bot])
[#&#8203;63073](https://redirect.github.com/nodejs/node/pull/63073)
-
\[[`09e17fe47c`](https://redirect.github.com/nodejs/node/commit/09e17fe47c)]
- **meta**: add automation policy (Chengzhong Wu)
[#&#8203;62871](https://redirect.github.com/nodejs/node/pull/62871)
-
\[[`59e7fb7986`](https://redirect.github.com/nodejs/node/commit/59e7fb7986)]
- **meta**: move VoltrexKeyva to emeritus (Matteo Collina)
[#&#8203;62895](https://redirect.github.com/nodejs/node/pull/62895)
-
\[[`1e2915cfa6`](https://redirect.github.com/nodejs/node/commit/1e2915cfa6)]
- **meta**: bump peter-evans/create-pull-request from 8.1.0 to 8.1.1
(dependabot\[bot])
[#&#8203;62845](https://redirect.github.com/nodejs/node/pull/62845)
-
\[[`0253c6e2be`](https://redirect.github.com/nodejs/node/commit/0253c6e2be)]
- **meta**: bump step-security/harden-runner from 2.16.1 to 2.19.0
(dependabot\[bot])
[#&#8203;62844](https://redirect.github.com/nodejs/node/pull/62844)
-
\[[`f503675b86`](https://redirect.github.com/nodejs/node/commit/f503675b86)]
- **meta**: bump actions/setup-node from 6.3.0 to 6.4.0
(dependabot\[bot])
[#&#8203;62842](https://redirect.github.com/nodejs/node/pull/62842)
-
\[[`5e14e4d26e`](https://redirect.github.com/nodejs/node/commit/5e14e4d26e)]
- **meta**: broaden stale bot (Aviv Keller)
[#&#8203;62658](https://redirect.github.com/nodejs/node/pull/62658)
-
\[[`795db76f87`](https://redirect.github.com/nodejs/node/commit/795db76f87)]
- **meta**: pass release version to release worker (flakey5)
[#&#8203;62777](https://redirect.github.com/nodejs/node/pull/62777)
-
\[[`ef384fe39f`](https://redirect.github.com/nodejs/node/commit/ef384fe39f)]
- **meta**: add QUIC to CODEOWNERS (Tim Perry)
[#&#8203;62652](https://redirect.github.com/nodejs/node/pull/62652)
-
\[[`67e0ac568d`](https://redirect.github.com/nodejs/node/commit/67e0ac568d)]
- **meta**: move Michael to emeritus (Michael Dawson)
[#&#8203;62536](https://redirect.github.com/nodejs/node/pull/62536)
-
\[[`5dad616393`](https://redirect.github.com/nodejs/node/commit/5dad616393)]
- **meta**: populate apt list for slim runner in update-openssl workflow
(René)
[#&#8203;62628](https://redirect.github.com/nodejs/node/pull/62628)
-
\[[`a869d25d8a`](https://redirect.github.com/nodejs/node/commit/a869d25d8a)]
- **meta**: bump step-security/harden-runner from 2.15.0 to 2.16.1
(dependabot\[bot])
[#&#8203;62550](https://redirect.github.com/nodejs/node/pull/62550)
-
\[[`769efc0403`](https://redirect.github.com/nodejs/node/commit/769efc0403)]
- **meta**: bump actions/setup-node from 6.2.0 to 6.3.0
(dependabot\[bot])
[#&#8203;62548](https://redirect.github.com/nodejs/node/pull/62548)
-
\[[`73fcc2b055`](https://redirect.github.com/nodejs/node/commit/73fcc2b055)]
- **meta**: bump github/codeql-action from 4.32.4 to 4.35.1
(dependabot\[bot])
[#&#8203;62547](https://redirect.github.com/nodejs/node/pull/62547)
-
\[[`6c001246fe`](https://redirect.github.com/nodejs/node/commit/6c001246fe)]
- **meta**: bump codecov/codecov-action from 5.5.2 to 6.0.0
(dependabot\[bot])
[#&#8203;62545](https://redirect.github.com/nodejs/node/pull/62545)
-
\[[`5ee40d6a03`](https://redirect.github.com/nodejs/node/commit/5ee40d6a03)]
- **meta**: bump actions/cache from 5.0.3 to 5.0.4 (dependabot\[bot])
[#&#8203;62543](https://redirect.github.com/nodejs/node/pull/62543)
-
\[[`ca16ad8a05`](https://redirect.github.com/nodejs/node/commit/ca16ad8a05)]
- **meta**: require DCO signoff in commit message guidelines (James M
Snell)
[#&#8203;62510](https://redirect.github.com/nodejs/node/pull/62510)
-
\[[`db9497fc41`](https://redirect.github.com/nodejs/node/commit/db9497fc41)]
- **meta**: expand memory leak DoS criteria to all DoS (Joyee Cheung)
[#&#8203;62505](https://redirect.github.com/nodejs/node/pull/62505)
-
\[[`13b7d08b8d`](https://redirect.github.com/nodejs/node/commit/13b7d08b8d)]
- **module**: remove duplicated checks from `_resolveFilename` (Antoine
du Hamel)
[#&#8203;62729](https://redirect.github.com/nodejs/node/pull/62729)
-
\[[`6b53efb53a`](https://redirect.github.com/nodejs/node/commit/6b53efb53a)]
- **module,win**: fix long subpath import (Stefan Stojanovic)
[#&#8203;62101](https://redirect.github.com/nodejs/node/pull/62101)
-
\[[`841dfbf6fc`](https://redirect.github.com/nodejs/node/commit/841dfbf6fc)]
- **node-api**: update libuv ABI stability note (Chengzhong Wu)
[#&#8203;62789](https://redirect.github.com/nodejs/node/pull/62789)
-
\[[`01090f2aa1`](https://redirect.github.com/nodejs/node/commit/01090f2aa1)]
- **node-api**: add napi\_create\_external\_sharedarraybuffer (Ben
Noordhuis)
[#&#8203;62623](https://redirect.github.com/nodejs/node/pull/62623)
-
\[[`87443b4355`](https://redirect.github.com/nodejs/node/commit/87443b4355)]
- **node-api**: execute tsfn finalizer after queue drains when aborted
(Kevin Eady)
[#&#8203;61956](https://redirect.github.com/nodejs/node/pull/61956)
-
\[[`e95570c054`](https://redirect.github.com/nodejs/node/commit/e95570c054)]
- **process**: handle rejections only when needed (Gürgün Dayıoğlu)
[#&#8203;62919](https://redirect.github.com/nodejs/node/pull/62919)
-
\[[`37d49f3219`](https://redirect.github.com/nodejs/node/commit/37d49f3219)]
- **process**: optimize asyncHandledRejections by using FixedQueue
(Gürgün Dayıoğlu)
[#&#8203;60854](https://redirect.github.com/nodejs/node/pull/60854)
-
\[[`f697c55e38`](https://redirect.github.com/nodejs/node/commit/f697c55e38)]
- **quic**: add QuicEndpoint.listening & QuicStream.destroy() and tests
(Tim Perry)
[#&#8203;62648](https://redirect.github.com/nodejs/node/pull/62648)
-
\[[`c128942b69`](https://redirect.github.com/nodejs/node/commit/c128942b69)]
- **quic**: fixup token verification to handle zero expiration (James M
Snell)
[#&#8203;62620](https://redirect.github.com/nodejs/node/pull/62620)
-
\[[`abb881ec92`](https://redirect.github.com/nodejs/node/commit/abb881ec92)]
- **quic**: support multiple ALPN negotiation (James M Snell)
[#&#8203;62620](https://redirect.github.com/nodejs/node/pull/62620)
-
\[[`476926c2ad`](https://redirect.github.com/nodejs/node/commit/476926c2ad)]
- **quic**: apply multiple TLS context improvements and SNI support
(James M Snell)
[#&#8203;62620](https://redirect.github.com/nodejs/node/pull/62620)
-
\[[`76d9c24b95`](https://redirect.github.com/nodejs/node/commit/76d9c24b95)]
- **quic**: implement rapidhash for hashing improvements (James M Snell)
[#&#8203;62620](https://redirect.github.com/nodejs/node/pull/62620)
-
\[[`08726cd43d`](https://redirect.github.com/nodejs/node/commit/08726cd43d)]
- **quic**: move quic behind compile time flag (Matteo Collina)
[#&#8203;61444](https://redirect.github.com/nodejs/node/pull/61444)
-
\[[`ea4f19aaa7`](https://redirect.github.com/nodejs/node/commit/ea4f19aaa7)]
- **quic**: use arena allocation for packets (James M Snell)
[#&#8203;62589](https://redirect.github.com/nodejs/node/pull/62589)
-
\[[`21e9239e2a`](https://redirect.github.com/nodejs/node/commit/21e9239e2a)]
- **quic**: fixup linting/formatting issues (James M Snell)
[#&#8203;62387](https://redirect.github.com/nodejs/node/pull/62387)
-
\[[`edeed4303b`](https://redirect.github.com/nodejs/node/commit/edeed4303b)]
- **quic**: update http3 impl details (James M Snell)
[#&#8203;62387](https://redirect.github.com/nodejs/node/pull/62387)
-
\[[`7f3a85e6aa`](https://redirect.github.com/nodejs/node/commit/7f3a85e6aa)]
- **quic**: fix a handful of bugs and missing functionality (James M
Snell)
[#&#8203;62387](https://redirect.github.com/nodejs/node/pull/62387)
-
\[[`45c1ebddf8`](https://redirect.github.com/nodejs/node/commit/45c1ebddf8)]
- **quic**: copy options.certs buffer instead of detaching (Chengzhong
Wu) [#&#8203;61403](https://redirect.github.com/nodejs/node/pull/61403)
-
\[[`a31a8ee680`](https://redirect.github.com/nodejs/node/commit/a31a8ee680)]
- **quic**: reduce boilerplate and other minor cleanups (James M Snell)
[#&#8203;59342](https://redirect.github.com/nodejs/node/pull/59342)
-
\[[`3be70ff43a`](https://redirect.github.com/nodejs/node/commit/3be70ff43a)]
- **quic**: multiple fixups and updates (James M Snell)
[#&#8203;59342](https://redirect.github.com/nodejs/node/pull/59342)
-
\[[`b91a93444c`](https://redirect.github.com/nodejs/node/commit/b91a93444c)]
- **quic**: update more of the quic to the new compile guard (James M
Snell)
[#&#8203;59342](https://redirect.github.com/nodejs/node/pull/59342)
-
\[[`ca0080c164`](https://redirect.github.com/nodejs/node/commit/ca0080c164)]
- **quic**: few additional small comment edits in cid.h (James M Snell)
[#&#8203;59342](https://redirect.github.com/nodejs/node/pull/59342)
-
\[[`6553202d83`](https://redirect.github.com/nodejs/node/commit/6553202d83)]
- **quic**: fixup NO\_ERROR macro conflict on windows (James M Snell)
[#&#8203;59381](https://redirect.github.com/nodejs/node/pull/59381)
-
\[[`6df1508ac2`](https://redirect.github.com/nodejs/node/commit/6df1508ac2)]
- **quic**: fixup windows coverage compile error (James M Snell)
[#&#8203;59381](https://redirect.github.com/nodejs/node/pull/59381)
-
\[[`b2b0bf8b04`](https://redirect.github.com/nodejs/node/commit/b2b0bf8b04)]
- **quic**: update the guard to check openssl version (James M Snell)
[#&#8203;59249](https://redirect.github.com/nodejs/node/pull/59249)
-
\[[`5556b154bd`](https://redirect.github.com/nodejs/node/commit/5556b154bd)]
- **quic**: start re-enabling quic with openssl 3.5 (James M Snell)
[#&#8203;59249](https://redirect.github.com/nodejs/node/pull/59249)
-
\[[`2ca42c8263`](https://redirect.github.com/nodejs/node/commit/2ca42c8263)]
- **repl**: keep reference count for `process.on('newListener')` (Anna
Henningsen)
[#&#8203;61895](https://redirect.github.com/nodejs/node/pull/61895)
-
\[[`2f37f9177f`](https://redirect.github.com/nodejs/node/commit/2f37f9177f)]
- **sqlite**: use OneByte for ASCII text and internalize col names (Ali
Hassan)
[#&#8203;61954](https://redirect.github.com/nodejs/node/pull/61954)
-
\[[`3c96ae1b2f`](https://redirect.github.com/nodejs/node/commit/3c96ae1b2f)]
- **sqlite**: add serialize() and deserialize() (Ali Hassan)
[#&#8203;62579](https://redirect.github.com/nodejs/node/pull/62579)
-
\[[`be4d2f3a4c`](https://redirect.github.com/nodejs/node/commit/be4d2f3a4c)]
- **sqlite**: enable Percentile extension (Jurj Andrei George)
[#&#8203;61295](https://redirect.github.com/nodejs/node/pull/61295)
-
\[[`dafed453b2`](https://redirect.github.com/nodejs/node/commit/dafed453b2)]
- **src**: clean up experimental flag variables (Antoine du Hamel)
[#&#8203;62759](https://redirect.github.com/nodejs/node/pull/62759)
-
\[[`dca1e6aeea`](https://redirect.github.com/nodejs/node/commit/dca1e6aeea)]
- **src**: expose help texts into node-config-schema.json (Pietro
Marchini)
[#&#8203;58680](https://redirect.github.com/nodejs/node/pull/58680)
-
\[[`28c4f44eb1`](https://redirect.github.com/nodejs/node/commit/28c4f44eb1)]
- **src**: add permission support to config file (Marco Ippolito)
[#&#8203;60746](https://redirect.github.com/nodejs/node/pull/60746)
-
\[[`f49175b220`](https://redirect.github.com/nodejs/node/commit/f49175b220)]
- **src**: fix small compile warning in quic/streams.cc (James M Snell)
[#&#8203;60118](https://redirect.github.com/nodejs/node/pull/60118)
-
\[[`c9d4a446d8`](https://redirect.github.com/nodejs/node/commit/c9d4a446d8)]
- **src**: cleanup quic TransportParams class (James M Snell)
[#&#8203;59884](https://redirect.github.com/nodejs/node/pull/59884)
-
\[[`99bb02fd9e`](https://redirect.github.com/nodejs/node/commit/99bb02fd9e)]
- **src**: swap dotenv and config file parsing order (Marco Ippolito)
[#&#8203;63035](https://redirect.github.com/nodejs/node/pull/63035)
-
\[[`ecb4d49b7b`](https://redirect.github.com/nodejs/node/commit/ecb4d49b7b)]
- **src**: add missing \<cstdlib> for abort() declaration (Charles Kerr)
[#&#8203;63001](https://redirect.github.com/nodejs/node/pull/63001)
-
\[[`b6219b6362`](https://redirect.github.com/nodejs/node/commit/b6219b6362)]
- **src**: fix crash in GetErrorSource() for invalid using syntax
(semimikoh)
[#&#8203;62770](https://redirect.github.com/nodejs/node/pull/62770)
-
\[[`b5ca5ad4c5`](https://redirect.github.com/nodejs/node/commit/b5ca5ad4c5)]
- **src**: simplify `TCPWrap::Connect` signature (Anna Henningsen)
[#&#8203;62929](https://redirect.github.com/nodejs/node/pull/62929)
-
\[[`ef7ffce7cf`](https://redirect.github.com/nodejs/node/commit/ef7ffce7cf)]
- **src**: use DCHECK in AsyncWrap::MakeCallback instead emiting a
warning (Gerhard Stöbich)
[#&#8203;62795](https://redirect.github.com/nodejs/node/pull/62795)
-
\[[`cd9890a5ab`](https://redirect.github.com/nodejs/node/commit/cd9890a5ab)]
- **src**: fix MaybeStackBuffer char\_traits deprecation warning
(om-ghante)
[#&#8203;62507](https://redirect.github.com/nodejs/node/pull/62507)
-
\[[`c70ff44aee`](https://redirect.github.com/nodejs/node/commit/c70ff44aee)]
- **src**: use context-free V8 message column getters (René)
[#&#8203;62778](https://redirect.github.com/nodejs/node/pull/62778)
-
\[[`06c405f1d7`](https://redirect.github.com/nodejs/node/commit/06c405f1d7)]
- **src**: coerce `spawnSync` args to string once (Antoine du Hamel)
[#&#8203;62633](https://redirect.github.com/nodejs/node/pull/62633)
-
\[[`6151999ad6`](https://redirect.github.com/nodejs/node/commit/6151999ad6)]
- **src**: use stack allocation for small string encoding (Ali Hassan)
[#&#8203;62431](https://redirect.github.com/nodejs/node/pull/62431)
-
\[[`a71a4ac7a3`](https://redirect.github.com/nodejs/node/commit/a71a4ac7a3)]
- **src**: add contextify interceptor debug logs (Chengzhong Wu)
[#&#8203;62460](https://redirect.github.com/nodejs/node/pull/62460)
-
\[[`ad9a2909c2`](https://redirect.github.com/nodejs/node/commit/ad9a2909c2)]
- **src**: workaround AIX libc++ std::filesystem bug (Richard Lau)
[#&#8203;62788](https://redirect.github.com/nodejs/node/pull/62788)
-
\[[`7792f1ae47`](https://redirect.github.com/nodejs/node/commit/7792f1ae47)]
- **stream**: copyedit `webstreams/adapter.js` (Antoine du Hamel)
[#&#8203;63034](https://redirect.github.com/nodejs/node/pull/63034)
-
\[[`1397d8ce5c`](https://redirect.github.com/nodejs/node/commit/1397d8ce5c)]
- **stream**: remove duplicated utility (Antoine du Hamel)
[#&#8203;63031](https://redirect.github.com/nodejs/node/pull/63031)
-
\[[`ff86b1d64f`](https://redirect.github.com/nodejs/node/commit/ff86b1d64f)]
- **stream**: simplify `setPromiseHandled` utility (Antoine du Hamel)
[#&#8203;63032](https://redirect.github.com/nodejs/node/pull/63032)
-
\[[`24a078149a`](https://redirect.github.com/nodejs/node/commit/24a078149a)]
- **stream**: validate ReadableStream.from iterator objects (Daeyeon
Jeong)
[#&#8203;62911](https://redirect.github.com/nodejs/node/pull/62911)
-
\[[`cfb1fa9680`](https://redirect.github.com/nodejs/node/commit/cfb1fa9680)]
- **stream**: reject duplicate nested transferables (Daeyeon Jeong)
[#&#8203;62831](https://redirect.github.com/nodejs/node/pull/62831)
-
\[[`d0c913758a`](https://redirect.github.com/nodejs/node/commit/d0c913758a)]
- **stream**: ensuring cross-destruction in \_duplexify to prevent leaks
(Daijiro Wachi)
[#&#8203;62824](https://redirect.github.com/nodejs/node/pull/62824)
-
\[[`978f5c15d7`](https://redirect.github.com/nodejs/node/commit/978f5c15d7)]
- **stream**: simplify `readableStreamFromIterable` (Antoine du Hamel)
[#&#8203;62651](https://redirect.github.com/nodejs/node/pull/62651)
-
\[[`3527646ba5`](https://redirect.github.com/nodejs/node/commit/3527646ba5)]
- **stream**: fix nested compose error propagation (Matteo Collina)
[#&#8203;62556](https://redirect.github.com/nodejs/node/pull/62556)
-
\[[`dfb9edef4f`](https://redirect.github.com/nodejs/node/commit/dfb9edef4f)]
- **stream**: allow shared array buffer sources in writable webstream
adapter (René)
[#&#8203;62163](https://redirect.github.com/nodejs/node/pull/62163)
-
\[[`f00cdab627`](https://redirect.github.com/nodejs/node/commit/f00cdab627)]
- **stream**: simplify `createPromiseCallback` (Antoine du Hamel)
[#&#8203;62650](https://redirect.github.com/nodejs/node/pull/62650)
-
\[[`3ed783535f`](https://redirect.github.com/nodejs/node/commit/3ed783535f)]
- **stream**: fix writev unhandled rejection in fromWeb (sangwook)
[#&#8203;62297](https://redirect.github.com/nodejs/node/pull/62297)
-
\[[`29b196694c`](https://redirect.github.com/nodejs/node/commit/29b196694c)]
- **stream**: noop pause/resume on destroyed streams (Robert Nagy)
[#&#8203;62557](https://redirect.github.com/nodejs/node/pull/62557)
-
\[[`d73dbb9fc8`](https://redirect.github.com/nodejs/node/commit/d73dbb9fc8)]
- **stream**: refactor duplexify to be less suceptible to prototype
pollution (Antoine du Hamel)
[#&#8203;62559](https://redirect.github.com/nodejs/node/pull/62559)
-
\[[`6f37f7e240`](https://redirect.github.com/nodejs/node/commit/6f37f7e240)]
- **(SEMVER-MINOR)** **stream**: propagate destruction in duplexPair
(Ahmed Elhor)
[#&#8203;61098](https://redirect.github.com/nodejs/node/pull/61098)
-
\[[`b8816580e9`](https://redirect.github.com/nodejs/node/commit/b8816580e9)]
- **test**: generate `localstorage.db` in a temp dir (Chengzhong Wu)
[#&#8203;62660](https://redirect.github.com/nodejs/node/pull/62660)
-
\[[`31a863fd29`](https://redirect.github.com/nodejs/node/commit/31a863fd29)]
- **test**: update WPT for url to
[`258f285`](https://redirect.github.com/nodejs/node/commit/258f285de0)
(Node.js GitHub Bot)
[#&#8203;63087](https://redirect.github.com/nodejs/node/pull/63087)
-
\[[`d0d19bd8e3`](https://redirect.github.com/nodejs/node/commit/d0d19bd8e3)]
- **test**: update WPT for streams to
[`f8f26a3`](https://redirect.github.com/nodejs/node/commit/f8f26a372f)
(Node.js GitHub Bot)
[#&#8203;62864](https://redirect.github.com/nodejs/node/pull/62864)
-
\[[`f50ac5bc78`](https://redirect.github.com/nodejs/node/commit/f50ac5bc78)]
- **test**: improve config-file permission test coverage (Rafael
Gonzaga)
[#&#8203;60929](https://redirect.github.com/nodejs/node/pull/60929)
-
\[[`a0f90000f4`](https://redirect.github.com/nodejs/node/commit/a0f90000f4)]
- **test**: export isRiscv64 from common module (Jamie Magee)
[#&#8203;62609](https://redirect.github.com/nodejs/node/pull/62609)
-
\[[`da4dd8646f`](https://redirect.github.com/nodejs/node/commit/da4dd8646f)]
- **test**: normalize known inspector crash as completion (Joyee Cheung)
[#&#8203;62851](https://redirect.github.com/nodejs/node/pull/62851)
-
\[[`b7fdd94a4c`](https://redirect.github.com/nodejs/node/commit/b7fdd94a4c)]
- **test**: account for RFC 7919 FFDHE negotiation in OpenSSL 4.0 (Filip
Skokan)
[#&#8203;62805](https://redirect.github.com/nodejs/node/pull/62805)
-
\[[`375a993aaf`](https://redirect.github.com/nodejs/node/commit/375a993aaf)]
- **test**: skip tls-deprecated secp256k1 on OpenSSL 4.0 (Filip Skokan)
[#&#8203;62805](https://redirect.github.com/nodejs/node/pull/62805)
-
\[[`698d8287d1`](https://redirect.github.com/nodejs/node/commit/698d8287d1)]
- **test**: use an always invalid cipher and cover OpenSSL 4.0
behaviours (Filip Skokan)
[#&#8203;62805](https://redirect.github.com/nodejs/node/pull/62805)
-
\[[`036bc6f300`](https://redirect.github.com/nodejs/node/commit/036bc6f300)]
- **test**: use valid DER OCSP responses (Filip Skokan)
[#&#8203;62805](https://redirect.github.com/nodejs/node/pull/62805)
-
\[[`3aa9938da8`](https://redirect.github.com/nodejs/node/commit/3aa9938da8)]
- **test**: skip test-tls-error-stack when engines are unsupported
(Filip Skokan)
[#&#8203;62805](https://redirect.github.com/nodejs/node/pull/62805)
-
\[[`947f1ae246`](https://redirect.github.com/nodejs/node/commit/947f1ae246)]
- **test**: accept renamed OpenSSL 4.0 error code and reason (Filip
Skokan)
[#&#8203;62805](https://redirect.github.com/nodejs/node/pull/62805)
-
\[[`afdd355622`](https://redirect.github.com/nodejs/node/commit/afdd355622)]
- **test**: update test/addons/openssl-binding for OpenSSL 4.0 (Filip
Skokan)
[#&#8203;62805](https://redirect.github.com/nodejs/node/pull/62805)
-
\[[`8637524a99`](https://redirect.github.com/nodejs/node/commit/8637524a99)]
- **test**: mark test-snapshot-reproducible flaky (Filip Skokan)
[#&#8203;62808](https://redirect.github.com/nodejs/node/pull/62808)
-
\[[`c22d34134b`](https://redirect.github.com/nodejs/node/commit/c22d34134b)]
- **test**: check contextify contextual store behavior in strict mode
(René)
[#&#8203;62571](https://redirect.github.com/nodejs/node/pull/62571)
-
\[[`0b4e0d3c94`](https://redirect.github.com/nodejs/node/commit/0b4e0d3c94)]
- **test**: update tls junk data error expectations (Filip Skokan)
[#&#8203;62629](https://redirect.github.com/nodejs/node/pull/62629)
-
\[[`85d83c2cdb`](https://redirect.github.com/nodejs/node/commit/85d83c2cdb)]
- **test**: ensure WPT report is in out/wpt (Filip Skokan)
[#&#8203;62637](https://redirect.github.com/nodejs/node/pull/62637)
-
\[[`9e21711c60`](https://redirect.github.com/nodejs/node/commit/9e21711c60)]
- **test**: improve WPT runner summary (Filip Skokan)
[#&#8203;62636](https://redirect.github.com/nodejs/node/pull/62636)
-
\[[`e04e2c9ac1`](https://redirect.github.com/nodejs/node/commit/e04e2c9ac1)]
- **test**: skip url WPT subtests instead of modifying test script
(Filip Skokan)
[#&#8203;62635](https://redirect.github.com/nodejs/node/pull/62635)
-
\[[`7b1211f88c`](https://redirect.github.com/nodejs/node/commit/7b1211f88c)]
- **test**: capture negative utimes mtime at call time (Yuya Inoue)
[#&#8203;62490](https://redirect.github.com/nodejs/node/pull/62490)
-
\[[`f1a6e9fcc7`](https://redirect.github.com/nodejs/node/commit/f1a6e9fcc7)]
- **test**: allow skipping individual WPT subtests (Filip Skokan)
[#&#8203;62517](https://redirect.github.com/nodejs/node/pull/62517)
-
\[[`23f927542e`](https://redirect.github.com/nodejs/node/commit/23f927542e)]
- **test**: use on-disk fixture for test-npm-install (Joyee Cheung)
[#&#8203;62584](https://redirect.github.com/nodejs/node/pull/62584)
-
\[[`4739c45879`](https://redirect.github.com/nodejs/node/commit/4739c45879)]
- **test**: update WPT for url to
[`7a3645b`](https://redirect.github.com/nodejs/node/commit/7a3645b79a)
(Node.js GitHub Bot)
[#&#8203;62591](https://redirect.github.com/nodejs/node/pull/62591)
-
\[[`f68189b839`](https://redirect.github.com/nodejs/node/commit/f68189b839)]
- **test\_runner**: add `testId` to test events (Moshe Atlow)
[#&#8203;62772](https://redirect.github.com/nodejs/node/pull/62772)
-
\[[`5c2770446e`](https://redirect.github.com/nodejs/node/commit/5c2770446e)]
- **test\_runner**: publish to TracingChannel for OTel instrumentation
(Moshe Atlow)
[#&#8203;62502](https://redirect.github.com/nodejs/node/pull/62502)
-
\[[`d14029be7f`](https://redirect.github.com/nodejs/node/commit/d14029be7f)]
- **(SEMVER-MINOR)** **test\_runner**: support test order randomization
(Pietro Marchini)
[#&#8203;61747](https://redirect.github.com/nodejs/node/pull/61747)
-
\[[`3f74a58979`](https://redirect.github.com/nodejs/node/commit/3f74a58979)]
- **test\_runner**: update node-config-schema (Pietro Marchini)
[#&#8203;58680](https://redirect.github.com/nodejs/node/pull/58680)
-
\[[`60c83f6199`](https://redirect.github.com/nodejs/node/commit/60c83f6199)]
- **test\_runner**: fix failing suite hooks when marked with `todo`
(Moshe Atlow)
[#&#8203;63097](https://redirect.github.com/nodejs/node/pull/63097)
-
\[[`d142c584cd`](https://redirect.github.com/nodejs/node/commit/d142c584cd)]
- **(SEMVER-MINOR)** **test\_runner**: align mock timeout api (sangwook)
[#&#8203;62820](https://redirect.github.com/nodejs/node/pull/62820)
-
\[[`3e72065ed6`](https://redirect.github.com/nodejs/node/commit/3e72065ed6)]
- **test\_runner**: fix suite rerun edge case (Moshe Atlow)
[#&#8203;62860](https://redirect.github.com/nodejs/node/pull/62860)
-
\[[`01a9552585`](https://redirect.github.com/nodejs/node/commit/01a9552585)]
- **(SEMVER-MINOR)** **test\_runner**: add mock-timers support for
AbortSignal.timeout (DeveloperViraj)
[#&#8203;60751](https://redirect.github.com/nodejs/node/pull/60751)
-
\[[`dd43efffa6`](https://redirect.github.com/nodejs/node/commit/dd43efffa6)]
- **test\_runner**: add passed, attempt, and diagnostic to SuiteContext
(Moshe Atlow)
[#&#8203;62504](https://redirect.github.com/nodejs/node/pull/62504)
-
\[[`a12dc445cc`](https://redirect.github.com/nodejs/node/commit/a12dc445cc)]
- **tools**: add a check for clean git tree after tests (Antoine du
Hamel)
[#&#8203;62661](https://redirect.github.com/nodejs/node/pull/62661)
-
\[[`5b49178375`](https://redirect.github.com/nodejs/node/commit/5b49178375)]
- **tools**: use LTS Node.js in notify-on-push workflow (Nenad Spasenic)
[#&#8203;63084](https://redirect.github.com/nodejs/node/pull/63084)
-
\[[`5a93bde5bb`](https://redirect.github.com/nodejs/node/commit/5a93bde5bb)]
- **tools**: update gr2m/create-or-update-pull-request-action to v1.10.1
(Mike McCready)
[#&#8203;63065](https://redirect.github.com/nodejs/node/pull/63065)
-
\[[`b133019d19`](https://redirect.github.com/nodejs/node/commit/b133019d19)]
- **tools**: simplify `update-undici.sh` (Antoine du Hamel)
[#&#8203;63044](https://redirect.github.com/nodejs/node/pull/63044)
-
\[[`04d3538074`](https://redirect.github.com/nodejs/node/commit/04d3538074)]
- **tools**: do not run `test-linux` on unrelated tools changes (Antoine
du Hamel)
[#&#8203;63037](https://redirect.github.com/nodejs/node/pull/63037)
-
\[[`4d396ac4a5`](https://redirect.github.com/nodejs/node/commit/4d396ac4a5)]
- **tools**: bump the eslint group in /tools/eslint with 4 updates
(dependabot\[bot])
[#&#8203;62848](https://redirect.github.com/nodejs/node/pull/62848)
-
\[[`9354bf40e7`](https://redirect.github.com/nodejs/node/commit/9354bf40e7)]
- **tools**: update gyp-next to 0.22.1 (Node.js GitHub Bot)
[#&#8203;62961](https://redirect.github.com/nodejs/node/pull/62961)
-
\[[`c23db1ca85`](https://redirect.github.com/nodejs/node/commit/c23db1ca85)]
- **tools**: fix commit linter for semver-major release proposals
(Antoine du Hamel)
[#&#8203;62993](https://redirect.github.com/nodejs/node/pull/62993)
-
\[[`6e097ee3f1`](https://redirect.github.com/nodejs/node/commit/6e097ee3f1)]
- **tools**: consolidate and simplify .editorconfig deps section
(Daijiro Wachi)
[#&#8203;62887](https://redirect.github.com/nodejs/node/pull/62887)
-
\[[`a47ea6d6ea`](https://redirect.github.com/nodejs/node/commit/a47ea6d6ea)]
- **tools**: set bot as author of tools-deps-update PRs (Antoine du
Hamel)
[#&#8203;62856](https://redirect.github.com/nodejs/node/pull/62856)
-
\[[`00e86f0471`](https://redirect.github.com/nodejs/node/commit/00e86f0471)]
- **tools**: bump brace-expansion from 5.0.4 to 5.0.5 in /tools/eslint
(dependabot\[bot])
[#&#8203;62458](https://redirect.github.com/nodejs/node/pull/62458)
-
\[[`cd7e262e75`](https://redirect.github.com/nodejs/node/commit/cd7e262e75)]
- **tools**: bump brace-expansion in /tools/clang-format
(dependabot\[bot])
[#&#8203;62467](https://redirect.github.com/nodejs/node/pull/62467)
-
\[[`bfc1319bc8`](https://redirect.github.com/nodejs/node/commit/bfc1319bc8)]
- **tools**: exclude
[@&#8203;node-core/doc-kit](https://redirect.github.com/node-core/doc-kit)
from dependabot cooldown (Levi Zim)
[#&#8203;62775](https://redirect.github.com/nodejs/node/pull/62775)
-
\[[`a932fbd10b`](https://redirect.github.com/nodejs/node/commit/a932fbd10b)]
- **tools**: re-enable undici WPTs in daily wpt.fyi job (Filip Skokan)
[#&#8203;62677](https://redirect.github.com/nodejs/node/pull/62677)
-
\[[`f7bd9e3055`](https://redirect.github.com/nodejs/node/commit/f7bd9e3055)]
- **tools**: update gyp-next to 0.22.0 (Node.js GitHub Bot)
[#&#8203;62697](https://redirect.github.com/nodejs/node/pull/62697)
-
\[[`c400d46d87`](https://redirect.github.com/nodejs/node/commit/c400d46d87)]
- **tools**: improve backport review script (Antoine du Hamel)
[#&#8203;62573](https://redirect.github.com/nodejs/node/pull/62573)
-
\[[`be23b75814`](https://redirect.github.com/nodejs/node/commit/be23b75814)]
- **tools**: improve output for unexpected passes in WTP tests (Antoine
du Hamel)
[#&#8203;62587](https://redirect.github.com/nodejs/node/pull/62587)
-
\[[`609c013ece`](https://redirect.github.com/nodejs/node/commit/609c013ece)]
- **tools**: revert OpenSSL update workflow to ubuntu-latest (Richard
Lau) [#&#8203;62627](https://redirect.github.com/nodejs/node/pull/62627)
-
\[[`81bac1ebfd`](https://redirect.github.com/nodejs/node/commit/81bac1ebfd)]
- **tools**: bump the eslint group in /tools/eslint with 2 updates
(dependabot\[bot])
[#&#8203;62552](https://redirect.github.com/nodejs/node/pull/62552)
-
\[[`1fee26522d`](https://redirect.github.com/nodejs/node/commit/1fee26522d)]
- **tools**: allow triagers to queue a PR for CI until it's reviewed
(Antoine du Hamel)
[#&#8203;62524](https://redirect.github.com/nodejs/node/pull/62524)
-
\[[`332088f929`](https://redirect.github.com/nodejs/node/commit/332088f929)]
- **tools**: do not run `commit-lint` on release proposals (Antoine du
Hamel)
[#&#8203;62523](https://redirect.github.com/nodejs/node/pull/62523)
-
\[[`9a25fc8a4d`](https://redirect.github.com/nodejs/node/commit/9a25fc8a4d)]
- **url**: process crash via malformed UNC hostname in pathToFileURL()
(Nicola Del Gobbo)
[#&#8203;62574](https://redirect.github.com/nodejs/node/pull/62574)
-
\[[`7bd08ff60a`](https://redirect.github.com/nodejs/node/commit/7bd08ff60a)]
- **url**: optimize URLSearchParams set/delete duplicate handling
(Gürgün Dayıoğlu)
[#&#8203;62266](https://redirect.github.com/nodejs/node/pull/62266)
-
\[[`2d636388fa`](https://redirect.github.com/nodejs/node/commit/2d636388fa)]
- **url**: align default argument handling for URLPattern with webidl
(Filip Skokan)
[#&#8203;62719](https://redirect.github.com/nodejs/node/pull/62719)
-
\[[`00705a459a`](https://redirect.github.com/nodejs/node/commit/00705a459a)]
- **(SEMVER-MINOR)** **util**: colorize text with hex colors (Guilherme
Araújo)
[#&#8203;61556](https://redirect.github.com/nodejs/node/pull/61556)
-
\[[`0e2adb3e45`](https://redirect.github.com/nodejs/node/commit/0e2adb3e45)]
- **watch**: track worker entry files in watch mode (SudhansuBandha)
[#&#8203;62368](https://redirect.github.com/nodejs/node/pull/62368)
-
\[[`c58fe38211`](https://redirect.github.com/nodejs/node/commit/c58fe38211)]
- **watch**: fix --env-file-if-exists crashing on linux if the file is
missing (Efe)
[#&#8203;61870](https://redirect.github.com/nodejs/node/pull/61870)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjE4NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
> ℹ️ **Note**
>
> This PR body was truncated due to platform limits.

This PR contains the following updates:

| Package | Update | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|
|
[aqua:jonwiggins/xmloxide](https://redirect.github.com/jonwiggins/xmloxide)
| patch | `0.4.2` → `0.4.3` |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/jonwiggins%2fxmloxide/0.4.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/jonwiggins%2fxmloxide/0.4.2/0.4.3?slim=true)
|
| [aqua:owenlamont/ryl](https://redirect.github.com/owenlamont/ryl) |
minor | `0.8.0` → `0.10.0` |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/owenlamont%2fryl/0.10.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/owenlamont%2fryl/0.8.0/0.10.0?slim=true)
|
|
[editorconfig-checker](https://redirect.github.com/editorconfig-checker/editorconfig-checker)
| minor | `v3.6.1` → `3.7.0` |
![age](https://developer.mend.io/api/mc/badges/age/github-releases/editorconfig-checker%2feditorconfig-checker/3.7.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/editorconfig-checker%2feditorconfig-checker/3.6.1/3.7.0?slim=true)
|
| [npm:renovate](https://renovatebot.com)
([source](https://redirect.github.com/renovatebot/renovate)) | minor |
`43.144.0` → `43.150.0` |
![age](https://developer.mend.io/api/mc/badges/age/npm/renovate/43.150.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/renovate/43.144.0/43.150.0?slim=true)
|
| [ruff](https://redirect.github.com/astral-sh/ruff) | patch | `0.15.12`
→ `0.15.14` |
![age](https://developer.mend.io/api/mc/badges/age/github-releases/astral-sh%2fruff/0.15.14?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/astral-sh%2fruff/0.15.12/0.15.14?slim=true)
|
| [rumdl](https://redirect.github.com/rvben/rumdl) | minor | `0.1.84` →
`0.2.0` |
![age](https://developer.mend.io/api/mc/badges/age/github-releases/rvben%2frumdl/v0.2.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/rvben%2frumdl/v0.1.84/v0.2.0?slim=true)
|
| [typos](https://redirect.github.com/crate-ci/typos) | patch | `1.46.1`
→ `1.46.3` |
![age](https://developer.mend.io/api/mc/badges/age/github-releases/crate-ci%2ftypos/1.46.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/crate-ci%2ftypos/1.46.1/1.46.3?slim=true)
|

---

### Release Notes

<details>
<summary>jonwiggins/xmloxide (aqua:jonwiggins/xmloxide)</summary>

###
[`v0.4.3`](https://redirect.github.com/jonwiggins/xmloxide/blob/HEAD/CHANGELOG.md#043---2026-05-04)

[Compare
Source](https://redirect.github.com/jonwiggins/xmloxide/compare/v0.4.2...v0.4.3)

##### Fixed

- **Exclusive C14N: emit `xmlns=""` default-namespace undeclaration**
when an
  element with no default namespace is canonicalized inside scope of an
inherited default namespace
([#&#8203;16](https://redirect.github.com/jonwiggins/xmloxide/issues/16),
thanks
[@&#8203;williamareynolds](https://redirect.github.com/williamareynolds)).
Previously the
undeclaration was only emitted in inclusive C14N. Per Canonical XML 1.0
§2.3
(inherited by Exclusive C14N §3), the empty default namespace must be
made
explicit so the canonical form correctly reflects the element's
namespace
  context.

##### CI / Maintenance

- Bump `actions/checkout` 4.3.1 → 6.0.2 across all workflows
([#&#8203;14](https://redirect.github.com/jonwiggins/xmloxide/issues/14))
- Bump `actions/download-artifact` v4 → v8.0.1 in release workflow
([#&#8203;13](https://redirect.github.com/jonwiggins/xmloxide/issues/13))
- Bump `actions/upload-artifact` v4 → v7.0.1 in release workflow
([#&#8203;15](https://redirect.github.com/jonwiggins/xmloxide/issues/15))
- Bump `softprops/action-gh-release` v2 → v3.0.0 in release workflow
([#&#8203;12](https://redirect.github.com/jonwiggins/xmloxide/issues/12))
- Bump `taiki-e/install-action` 2.75.19 → 2.75.26 in release workflow
([#&#8203;17](https://redirect.github.com/jonwiggins/xmloxide/issues/17))
- Remove `bench.yml` workflow — the regression check required a
`gh-pages`
  branch that was never created, so it had been failing on every PR. Run
  benchmarks locally with `cargo bench`.

</details>

<details>
<summary>owenlamont/ryl (aqua:owenlamont/ryl)</summary>

###
[`v0.10.0`](https://redirect.github.com/owenlamont/ryl/releases/tag/v0.10.0)

[Compare
Source](https://redirect.github.com/owenlamont/ryl/compare/v0.9.2...v0.10.0)

#### What's Changed

- build(deps): bump the actions-dependencies group with 2 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;219](https://redirect.github.com/owenlamont/ryl/pull/219)
- test: add property-style tests for safe --fix invariants by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;220](https://redirect.github.com/owenlamont/ryl/pull/220)
- Implement partial safe --fix for trailing-spaces, document-start,
document-end, empty-lines (closes
[#&#8203;221](https://redirect.github.com/owenlamont/ryl/issues/221)) by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;223](https://redirect.github.com/owenlamont/ryl/pull/223)
- chore: refresh dependencies and linters by
[@&#8203;create-pr-workflow-auth](https://redirect.github.com/create-pr-workflow-auth)\[bot]
in [#&#8203;224](https://redirect.github.com/owenlamont/ryl/pull/224)
- Add stdin input support via `-` positional (closes
[#&#8203;209](https://redirect.github.com/owenlamont/ryl/issues/209)) by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;225](https://redirect.github.com/owenlamont/ryl/pull/225)

**Full Changelog**:
<https://github.com/owenlamont/ryl/compare/v0.9.2...v0.10.0>

###
[`v0.9.2`](https://redirect.github.com/owenlamont/ryl/releases/tag/v0.9.2)

[Compare
Source](https://redirect.github.com/owenlamont/ryl/compare/v0.9.1...v0.9.2)

#### What's Changed

- build(deps): bump taiki-e/install-action from 2.75.22 to 2.75.28 in
the actions-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;210](https://redirect.github.com/owenlamont/ryl/pull/210)
- chore: refresh dependencies and linters by
[@&#8203;create-pr-workflow-auth](https://redirect.github.com/create-pr-workflow-auth)\[bot]
in [#&#8203;211](https://redirect.github.com/owenlamont/ryl/pull/211)
- build(deps): bump taiki-e/install-action from 2.75.28 to 2.77.2 in the
actions-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;212](https://redirect.github.com/owenlamont/ryl/pull/212)
- chore: refresh dependencies and linters by
[@&#8203;create-pr-workflow-auth](https://redirect.github.com/create-pr-workflow-auth)\[bot]
in [#&#8203;213](https://redirect.github.com/owenlamont/ryl/pull/213)
- 205 create a proper documentation page for ryl by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;215](https://redirect.github.com/owenlamont/ryl/pull/215)
- fix(package): allowlist publish contents and drop dev-only bin by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;216](https://redirect.github.com/owenlamont/ryl/pull/216)
- docs: refresh benchmark image and unpin from a tag by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;217](https://redirect.github.com/owenlamont/ryl/pull/217)

**Full Changelog**:
<https://github.com/owenlamont/ryl/compare/v0.9.1...v0.9.2>

###
[`v0.9.1`](https://redirect.github.com/owenlamont/ryl/releases/tag/v0.9.1)

[Compare
Source](https://redirect.github.com/owenlamont/ryl/compare/v0.9.0...v0.9.1)

#### What's Changed

- Fix quoted-string autofix edge cases by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;207](https://redirect.github.com/owenlamont/ryl/pull/207)

**Full Changelog**:
<https://github.com/owenlamont/ryl/compare/v0.9.0...v0.9.1>

###
[`v0.9.0`](https://redirect.github.com/owenlamont/ryl/releases/tag/v0.9.0)

[Compare
Source](https://redirect.github.com/owenlamont/ryl/compare/v0.8.0...v0.9.0)

#### What's Changed

- Add --fix support for quoted-strings rule by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;202](https://redirect.github.com/owenlamont/ryl/pull/202)
- chore: refresh dependencies and linters by
[@&#8203;create-pr-workflow-auth](https://redirect.github.com/create-pr-workflow-auth)\[bot]
in [#&#8203;203](https://redirect.github.com/owenlamont/ryl/pull/203)

**Full Changelog**:
<https://github.com/owenlamont/ryl/compare/v0.8.0...v0.9.0>

</details>

<details>
<summary>editorconfig-checker/editorconfig-checker
(editorconfig-checker)</summary>

###
[`v3.7.0`](https://redirect.github.com/editorconfig-checker/editorconfig-checker/blob/HEAD/CHANGELOG.md#370-2026-05-25)

[Compare
Source](https://redirect.github.com/editorconfig-checker/editorconfig-checker/compare/v3.6.1...v3.7.0)

##### Features

- **files:** expand glob patterns in passed-file args
([#&#8203;190](https://redirect.github.com/editorconfig-checker/editorconfig-checker/issues/190))
([#&#8203;558](https://redirect.github.com/editorconfig-checker/editorconfig-checker/issues/558))
([4c0f326](https://redirect.github.com/editorconfig-checker/editorconfig-checker/commit/4c0f326cfa71fb0dd80c0c71b1844b2550ed799e))

##### Bug Fixes

- **cli:** auto-enable no-color when output format is github-actions
([#&#8203;557](https://redirect.github.com/editorconfig-checker/editorconfig-checker/issues/557))
([9f4014c](https://redirect.github.com/editorconfig-checker/editorconfig-checker/commit/9f4014ce0944f601472e5cbfaec31f711890c780))
- detect binary files before decoding to prevent false text
([#&#8203;550](https://redirect.github.com/editorconfig-checker/editorconfig-checker/issues/550))
([f47b30c](https://redirect.github.com/editorconfig-checker/editorconfig-checker/commit/f47b30c96713107bc4fe0b7a05e79a293c4874dd))

</details>

<details>
<summary>renovatebot/renovate (npm:renovate)</summary>

###
[`v43.150.0`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.150.0)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.149.0...43.150.0)

##### Features

- **manager/asdf:** support `apm`
([#&#8203;42865](https://redirect.github.com/renovatebot/renovate/issues/42865))
([4faae3e](https://redirect.github.com/renovatebot/renovate/commit/4faae3e76d2b07e24d5788f2f36e9f80ffb1e30a))

##### Miscellaneous Chores

- **datasource:** fix log messages
([#&#8203;42963](https://redirect.github.com/renovatebot/renovate/issues/42963))
([3049ef2](https://redirect.github.com/renovatebot/renovate/commit/3049ef224457c00bf1315f28991ce85a85f4ed24))

###
[`v43.149.0`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.149.0)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.148.0...43.149.0)

##### Features

- **mise:** automagically support all tools through Mise Registry
([#&#8203;42783](https://redirect.github.com/renovatebot/renovate/issues/42783))
([2bd478f](https://redirect.github.com/renovatebot/renovate/commit/2bd478fff4071e09972b051ab5801ff48c101d04)),
closes
[#&#8203;42250](https://redirect.github.com/renovatebot/renovate/issues/42250)

##### Miscellaneous Chores

- **tools:** pre-format output JSON files
([#&#8203;42941](https://redirect.github.com/renovatebot/renovate/issues/42941))
([836afde](https://redirect.github.com/renovatebot/renovate/commit/836afde2733dd40c819b124f2afa1dd457a11608))

##### Continuous Integration

- validate docker build succeeds
([#&#8203;42962](https://redirect.github.com/renovatebot/renovate/issues/42962))
([8c9c0ef](https://redirect.github.com/renovatebot/renovate/commit/8c9c0ef2306db74e30ef1ecb09c4de43edeb95e1))

###
[`v43.148.0`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.148.0)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.147.0...43.148.0)

##### Features

- **presets/monorepos:** add conform
([#&#8203;42903](https://redirect.github.com/renovatebot/renovate/issues/42903))
([d8b2759](https://redirect.github.com/renovatebot/renovate/commit/d8b27590065886efa6588f0beea689f22fcff796))

##### Bug Fixes

- **deps:** update ghcr.io/renovatebot/base-image docker tag to v13.40.1
(main)
([#&#8203;42957](https://redirect.github.com/renovatebot/renovate/issues/42957))
([e3c7cd8](https://redirect.github.com/renovatebot/renovate/commit/e3c7cd84bce22060341eb6d6037e9cfc02c1d3db))
- **gerrit:** defer change creation to `createPr()`
([#&#8203;39250](https://redirect.github.com/renovatebot/renovate/issues/39250))
([1bbe824](https://redirect.github.com/renovatebot/renovate/commit/1bbe82400ede9b4ed24ac9dca4684f48fb8e07c7)),
closes
[#&#8203;41382](https://redirect.github.com/renovatebot/renovate/issues/41382)

##### Documentation

- **mend-hosted:** add link directly to header
([#&#8203;42960](https://redirect.github.com/renovatebot/renovate/issues/42960))
([f9634b3](https://redirect.github.com/renovatebot/renovate/commit/f9634b3d137e1c3e76eae82784af830c5094fa11))

##### Miscellaneous Chores

- update pnpm configuration
([#&#8203;42952](https://redirect.github.com/renovatebot/renovate/issues/42952))
([36b0b2e](https://redirect.github.com/renovatebot/renovate/commit/36b0b2e48b27014f901d5c6072681525b6120f62))

##### Code Refactoring

- **gomod:** extract `deriveGoToolchainConstraints` function
([#&#8203;42956](https://redirect.github.com/renovatebot/renovate/issues/42956))
([1054439](https://redirect.github.com/renovatebot/renovate/commit/1054439929ac6396a9acae66d73df071b2ae75a5))

##### Tests

- remove TODOs
([#&#8203;42958](https://redirect.github.com/renovatebot/renovate/issues/42958))
([bdddddf](https://redirect.github.com/renovatebot/renovate/commit/bdddddf57ac4d4b837ca2294b672730d7c392f09))

##### Build System

- add pnpm workspace config to docker context
([#&#8203;42961](https://redirect.github.com/renovatebot/renovate/issues/42961))
([2d67a50](https://redirect.github.com/renovatebot/renovate/commit/2d67a50690e26059a3c88bafb287aff81e7daa37))

###
[`v43.147.0`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.147.0)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.146.0...43.147.0)

##### Features

- **manager:** add proto manager for .prototools files
([#&#8203;42908](https://redirect.github.com/renovatebot/renovate/issues/42908))
([e5f067c](https://redirect.github.com/renovatebot/renovate/commit/e5f067cccef2f16e5a639f8d8735d77a2840ee86))
- **terraform-provider:** add OpenTofu registry API support
([#&#8203;42343](https://redirect.github.com/renovatebot/renovate/issues/42343))
([677e2a6](https://redirect.github.com/renovatebot/renovate/commit/677e2a606e5e4b6afb0f336e0188f8d740afc11c))

##### Documentation

- note cleanup after `enabled=false`
([#&#8203;42943](https://redirect.github.com/renovatebot/renovate/issues/42943))
([7344b93](https://redirect.github.com/renovatebot/renovate/commit/7344b93bb0e79ca2269eefe957f4d4bbf291d5b0))

##### Continuous Integration

- set repo context for gh cli
([#&#8203;42954](https://redirect.github.com/renovatebot/renovate/issues/42954))
([28c3144](https://redirect.github.com/renovatebot/renovate/commit/28c3144400b498a414e4e19713555a700806272e))

###
[`v43.146.0`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.146.0)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.145.0...43.146.0)

##### Features

- **deps:** update ghcr.io/renovatebot/base-image docker tag to v13.40.0
(main)
([#&#8203;42951](https://redirect.github.com/renovatebot/renovate/issues/42951))
([ab62bd5](https://redirect.github.com/renovatebot/renovate/commit/ab62bd5a2b57012ce60bc7494183b7f9b6460328))

###
[`v43.145.0`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.145.0)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.144.0...43.145.0)

##### Features

- **deps:** update ghcr.io/renovatebot/base-image docker tag to v13.39.0
(main)
([#&#8203;42950](https://redirect.github.com/renovatebot/renovate/issues/42950))
([0073e1f](https://redirect.github.com/renovatebot/renovate/commit/0073e1f002675d940cb99bf7a414de786f4e2d70))

##### Miscellaneous Chores

- **deps:** update dependency
[@&#8203;smithy/util-stream](https://redirect.github.com/smithy/util-stream)
to v4.5.24 (main)
([#&#8203;42947](https://redirect.github.com/renovatebot/renovate/issues/42947))
([887fb02](https://redirect.github.com/renovatebot/renovate/commit/887fb026a6a182f20fba054247b348c7679511bd))
- **deps:** update dependency nock to v14.0.13 (main)
([#&#8203;42949](https://redirect.github.com/renovatebot/renovate/issues/42949))
([7e38d70](https://redirect.github.com/renovatebot/renovate/commit/7e38d70b7c92d2f57081ac6517e72dc2ec6b445b))

</details>

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.15.14`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#01514)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.13...0.15.14)

Released on 2026-05-21.

##### Preview features

- \[`airflow`] Implement `airflow-task-implicit-multiple-outputs`
(`AIR202`)
([#&#8203;25152](https://redirect.github.com/astral-sh/ruff/pull/25152))
- \[`flake8-use-pathlib`] Mark `PTH101` fix as unsafe when first
argument is a class attribute annotated as `int`
([#&#8203;25086](https://redirect.github.com/astral-sh/ruff/pull/25086))
- \[`pylint`] Implement `too-many-try-statements` (`W0717`)
([#&#8203;23970](https://redirect.github.com/astral-sh/ruff/pull/23970))
- \[`ruff`] Add `incorrect-decorator-order` (`RUF074`)
([#&#8203;23461](https://redirect.github.com/astral-sh/ruff/pull/23461))
- \[`ruff`] Add `fallible-context-manager` (`RUF075`)
([#&#8203;22844](https://redirect.github.com/astral-sh/ruff/pull/22844))

##### Bug fixes

- Fix lambda formatting in interpolated string expressions
([#&#8203;25144](https://redirect.github.com/astral-sh/ruff/pull/25144))
- Treat generic `frozenset` annotations as immutable
([#&#8203;25251](https://redirect.github.com/astral-sh/ruff/pull/25251))
- \[`flake8-type-checking`] Avoid `strict` behavior when
`future-annotations` are enabled (`TC001`, `TC002`, `TC003`)
([#&#8203;25035](https://redirect.github.com/astral-sh/ruff/pull/25035))
- \[`pylint`] Avoid false positives in `else` clause (`PLR1733`)
([#&#8203;25177](https://redirect.github.com/astral-sh/ruff/pull/25177))

##### Rule changes

- \[`flake8-comprehensions`] Skip `C417` for lambdas with
positional-only parameters
([#&#8203;25272](https://redirect.github.com/astral-sh/ruff/pull/25272))
- \[`flake8-simplify`] Preserve f-string source verbatim in `SIM101` fix
([#&#8203;25061](https://redirect.github.com/astral-sh/ruff/pull/25061))

##### Performance

- Avoid unnecessary parser lookahead for operators
([#&#8203;25290](https://redirect.github.com/astral-sh/ruff/pull/25290))

##### Documentation

- Update code example setting Neovim LSP log level
([#&#8203;25284](https://redirect.github.com/astral-sh/ruff/pull/25284))

##### Other changes

- Add full PEP 798 support
([#&#8203;25104](https://redirect.github.com/astral-sh/ruff/pull/25104))
- Add a parser recursion limit
([#&#8203;24810](https://redirect.github.com/astral-sh/ruff/pull/24810))
- Update various `ruff_python_stdlib` APIs
([#&#8203;25273](https://redirect.github.com/astral-sh/ruff/pull/25273))

##### Contributors

- [@&#8203;ocaballeror](https://redirect.github.com/ocaballeror)
- [@&#8203;lerebear](https://redirect.github.com/lerebear)
- [@&#8203;samuelcolvin](https://redirect.github.com/samuelcolvin)
- [@&#8203;baltasarblanco](https://redirect.github.com/baltasarblanco)
- [@&#8203;aconal-com](https://redirect.github.com/aconal-com)
- [@&#8203;anishgirianish](https://redirect.github.com/anishgirianish)
- [@&#8203;JelleZijlstra](https://redirect.github.com/JelleZijlstra)
- [@&#8203;AlexWaygood](https://redirect.github.com/AlexWaygood)
- [@&#8203;ntBre](https://redirect.github.com/ntBre)
- [@&#8203;adityasingh2400](https://redirect.github.com/adityasingh2400)
- [@&#8203;charliermarsh](https://redirect.github.com/charliermarsh)
- [@&#8203;Dev-iL](https://redirect.github.com/Dev-iL)
- [@&#8203;neutrinoceros](https://redirect.github.com/neutrinoceros)
- [@&#8203;shivamtiwari3](https://redirect.github.com/shivamtiwari3)
- [@&#8203;Dev-X25874](https://redirect.github.com/Dev-X25874)

###
[`v0.15.13`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#01513)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.12...0.15.13)

Released on 2026-05-14.

##### Preview features

- Add a rule to flag lazy imports that are eagerly evaluated
([#&#8203;25016](https://redirect.github.com/astral-sh/ruff/pull/25016))
- \[`pylint`] Standardize diagnostic message (`PLR0914`, `PLR0917`)
([#&#8203;24996](https://redirect.github.com/astral-sh/ruff/pull/24996))

##### Bug fixes

- Fix `F811` false positive for class methods
([#&#8203;24933](https://redirect.github.com/astral-sh/ruff/pull/24933))
- Fix setting selection for multi-folder workspace
([#&#8203;24819](https://redirect.github.com/astral-sh/ruff/pull/24819))
- \[`eradicate`] Fix false positive for lines with leading whitespace
(`ERA001`)
([#&#8203;25122](https://redirect.github.com/astral-sh/ruff/pull/25122))
- \[`flake8-pyi`] Fix false positive for f-string debug specifier
(`PYI016`)
([#&#8203;24098](https://redirect.github.com/astral-sh/ruff/pull/24098))

##### Rule changes

- Always include panic payload in panic diagnostic message
([#&#8203;24873](https://redirect.github.com/astral-sh/ruff/pull/24873))
- Restrict `PYI034` for in-place operations to enclosing class
([#&#8203;24511](https://redirect.github.com/astral-sh/ruff/pull/24511))
- Improve error message for parameters that are declared `global`
([#&#8203;24902](https://redirect.github.com/astral-sh/ruff/pull/24902))
- Update known stdlib
([#&#8203;25103](https://redirect.github.com/astral-sh/ruff/pull/25103))

##### Performance

- \[`isort`] Avoid constructing `glob::Pattern`s for literal known
modules
([#&#8203;25123](https://redirect.github.com/astral-sh/ruff/pull/25123))

##### CLI

- Add TOML examples to `--config` help text
([#&#8203;25013](https://redirect.github.com/astral-sh/ruff/pull/25013))
- Colorize ruff check 'All checks passed'
([#&#8203;25085](https://redirect.github.com/astral-sh/ruff/pull/25085))

##### Configuration

- Increase max allowed value of `line-length` setting
([#&#8203;24962](https://redirect.github.com/astral-sh/ruff/pull/24962))

##### Documentation

- Add `D203` to rules that conflict with the formatter
([#&#8203;25044](https://redirect.github.com/astral-sh/ruff/pull/25044))
- Clarify `COM819` and formatter interaction
([#&#8203;25045](https://redirect.github.com/astral-sh/ruff/pull/25045))
- Clarify that `NotImplemented` is a value, not an exception (`F901`)
([#&#8203;25054](https://redirect.github.com/astral-sh/ruff/pull/25054))
- Update number of lint rules supported
([#&#8203;24942](https://redirect.github.com/astral-sh/ruff/pull/24942))

##### Other changes

- Simplify the playground's markdown template
([#&#8203;24924](https://redirect.github.com/astral-sh/ruff/pull/24924))

##### Contributors

- [@&#8203;MichaReiser](https://redirect.github.com/MichaReiser)
- [@&#8203;brian-c11](https://redirect.github.com/brian-c11)
- [@&#8203;Andrej730](https://redirect.github.com/Andrej730)
- [@&#8203;denyszhak](https://redirect.github.com/denyszhak)
- [@&#8203;darestack](https://redirect.github.com/darestack)
- [@&#8203;sharkdp](https://redirect.github.com/sharkdp)
- [@&#8203;charliermarsh](https://redirect.github.com/charliermarsh)
- [@&#8203;EkriirkE](https://redirect.github.com/EkriirkE)
- [@&#8203;eyupcanakman](https://redirect.github.com/eyupcanakman)
- [@&#8203;Hrk84ya](https://redirect.github.com/Hrk84ya)
- [@&#8203;thernstig](https://redirect.github.com/thernstig)
- [@&#8203;ntBre](https://redirect.github.com/ntBre)

</details>

<details>
<summary>rvben/rumdl (rumdl)</summary>

###
[`v0.2.0`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.2.0)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.1.96...v0.2.0)

##### Added

- **lsp**: improve link completion ranking, ignores, and absolute paths
([0ac911e](https://redirect.github.com/rvben/rumdl/commit/0ac911ec4836803b57ddebf289f75d83fab31ac4))
- **flavor**: add support for MyST (Markedly Structured Text)
([#&#8203;637](https://redirect.github.com/rvben/rumdl/issues/637))
([3455840](https://redirect.github.com/rvben/rumdl/commit/3455840e1424961128cbfaddcd929f43eb60fda7))

##### Fixed

- **md007**: close ordered-ancestor exemption leak across deeper nested
quotes
([0fa6180](https://redirect.github.com/rvben/rumdl/commit/0fa61809228b8f3b9d6708a9f86d3943415f7018))
- **md007**: flag misindented top-level unordered list items
([f277892](https://redirect.github.com/rvben/rumdl/commit/f277892545500e5fddf839e41a0a2341cc18fd7d))
- **md007**: apply ordered-ancestor exemption only to genuinely nested
sublists
([#&#8203;638](https://redirect.github.com/rvben/rumdl/issues/638))
([4c96cf7](https://redirect.github.com/rvben/rumdl/commit/4c96cf701b183c3842753aad5646e500b45b44d3))
- **md013**: reflow list-item prose in normalize mode without false
length warnings
([#&#8203;639](https://redirect.github.com/rvben/rumdl/issues/639))
([0816967](https://redirect.github.com/rvben/rumdl/commit/08169672b6039a44bd57fab8f56bc1f9bd1c7a3c))
- **cross-file**: honor inline-disable and per-file-ignores on
lint-cache fast path
([05c77e4](https://redirect.github.com/rvben/rumdl/commit/05c77e4f4b4003c3e62aec0ef7d0ec354fa87acf))

#### Downloads

| File | Platform | Checksum |
|
--------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
-------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.2.0-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.2.0-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.2.0-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.2.0-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.2.0-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.2.0-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.2.0-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.0/rumdl-v0.2.0-x86_64-pc-windows-msvc.zip.sha256)
|

#### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

###
[`v0.1.96`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.1.96)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.1.95...v0.1.96)

##### Fixed

- **md073**: protect code-span contents from link/image stripping
([530e41d](https://redirect.github.com/rvben/rumdl/commit/530e41d61c5d34dcb517fa677816c69e5c2ea884))
- **md073**: preserve inline code spans and emphasis in generated TOC
entries
([#&#8203;634](https://redirect.github.com/rvben/rumdl/issues/634))
([897c76a](https://redirect.github.com/rvben/rumdl/commit/897c76a8fb48395dabde8030fffc02cc22b0d0e7))
- **md057**: handle trailing-slash directory links that include a
fragment or query
([539a6d0](https://redirect.github.com/rvben/rumdl/commit/539a6d087b332e097abc85cce56ea478840184cc))
- **md057**: eliminate duplicate warnings for broken relative links and
accept existing directory targets
([#&#8203;631](https://redirect.github.com/rvben/rumdl/issues/631),
[#&#8203;632](https://redirect.github.com/rvben/rumdl/issues/632))
([6a37ada](https://redirect.github.com/rvben/rumdl/commit/6a37ada04337079f08e656087c6d681a78181d46))

#### Downloads

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
---------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.1.96-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.96-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.96-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.96-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.96-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.96-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.96-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.96/rumdl-v0.1.96-x86_64-pc-windows-msvc.zip.sha256)
|

#### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

###
[`v0.1.95`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.1.95)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.1.94...v0.1.95)

##### Added

- **md010**: add code\_blocks config option, consistent code-block
handling
([#&#8203;630](https://redirect.github.com/rvben/rumdl/issues/630))
([b98ca52](https://redirect.github.com/rvben/rumdl/commit/b98ca52b73cecd923c03ce98f505a5afefe20435))
- **md010**: add code\_blocks config option (default false)
([2c95e17](https://redirect.github.com/rvben/rumdl/commit/2c95e1786a1aaf63af8c767f57b469c146982ae7))

##### Fixed

- **md010**: treat fenced and indented code blocks consistently
([#&#8203;630](https://redirect.github.com/rvben/rumdl/issues/630))
([435df34](https://redirect.github.com/rvben/rumdl/commit/435df34db542402a2e2f07db12308391bf41a032))

#### Downloads

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
---------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.1.95-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.95-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.95-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.95-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.95-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.95-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.95-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.95/rumdl-v0.1.95-x86_64-pc-windows-msvc.zip.sha256)
|

#### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

###
[`v0.1.94`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.1.94)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.1.93...v0.1.94)

##### Added

- **md080**: add heading-anchor-collision rule
([df9146d](https://redirect.github.com/rvben/rumdl/commit/df9146d808ee1069958fe8c272ad8dac0079f1c3))

##### Fixed

- **docs**: match unwrapped 'N lint rules' counts in guard
([8a768bf](https://redirect.github.com/rvben/rumdl/commit/8a768bf6922a0db4d5ec94737864de25b2f483cc))
- **docs**: make rule-count guard fail on unwrapped counts
([07226b8](https://redirect.github.com/rvben/rumdl/commit/07226b88e4b16064c47f79af7757c65c5eea4518))
- **md049**: neutralize inline-code dollars before math filtering
([28a73dd](https://redirect.github.com/rvben/rumdl/commit/28a73dd2516dda07a6204159a8808b52f86cd19c))
- **md049,md080**: code-block-aware math filter; mark MD080 unfixable
([49e1150](https://redirect.github.com/rvben/rumdl/commit/49e1150c87a96928a8f884bdbf828794d21ee37c))
- **math**: drop unmatched line-start $$ opener instead of swallowing
document
([f02f63f](https://redirect.github.com/rvben/rumdl/commit/f02f63f65c0bc22f0ff8912bf162b3c34a6c3318))
- **math**: unify $$ math model across rules and make MD049
byte-accurate
([bf05e5c](https://redirect.github.com/rvben/rumdl/commit/bf05e5cde555df213f3d6c53112502666f7e9661))
- **math**: align line map with byte model for multi-pair dollar lines
([1a21816](https://redirect.github.com/rvben/rumdl/commit/1a218163cbc27fbebd6044995f79a5a6d541aeda))
- align math line map with byte model; run heading rules for
blockquote-only docs
([444482b](https://redirect.github.com/rvben/rumdl/commit/444482b04b7b92532df00a009c379ee1cb5a0dea))
- **md080**: mirror MD051 anchor model instead of per-rule HTML guards
([e38730d](https://redirect.github.com/rvben/rumdl/commit/e38730d169058b128d4d4a4adabfb6cf1f7e7965))
- **md080**: allow markdown-enabled HTML blocks through the skip
([7d48cb7](https://redirect.github.com/rvben/rumdl/commit/7d48cb7d4c7edb5203e61d33e6ab333510470c0d))
- **md080**: skip blockquote headings inside HTML blocks
([334d301](https://redirect.github.com/rvben/rumdl/commit/334d3010e7a2588106346beca932402f610a821c))
- **md080**: address codex review findings
([cb5acc3](https://redirect.github.com/rvben/rumdl/commit/cb5acc3d8b0446f9528868c13b71ea9cdd54e647))
- **math**: close line-level math state at the fence, ignore prose $$
([540b624](https://redirect.github.com/rvben/rumdl/commit/540b624ca39cded5085f4c1f421df72529914870))
- **math**: require line-start opener for $$ display blocks
([89e1a60](https://redirect.github.com/rvben/rumdl/commit/89e1a60f766971b7964889ba5defe72b772bac00))
- **math**: close $$ display blocks when fence shares a line with
content
([f839492](https://redirect.github.com/rvben/rumdl/commit/f839492a34157fef1bb5ac80688209aea410d0b9))

##### Performance

- **md049**: binary-search merged math ranges for membership
([feafbf8](https://redirect.github.com/rvben/rumdl/commit/feafbf8c9c7974399967ec6bc787d31a47f1a761))
- **md049**: precompute math ranges once instead of per span
([00d3a83](https://redirect.github.com/rvben/rumdl/commit/00d3a83e16c89bb694947b9c6035b75a33d6005f))

#### Downloads

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
---------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.1.94-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.94-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.94-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.94-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.94-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.94-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.94-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.94/rumdl-v0.1.94-x86_64-pc-windows-msvc.zip.sha256)
|

#### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

###
[`v0.1.93`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.1.93)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.1.92...v0.1.93)

##### Added

- **quarto**: add MD078 missing-chunk-labels and MD079
chunk-label-spaces
([818cba4](https://redirect.github.com/rvben/rumdl/commit/818cba4df79cae1e339d976faba08ab15ef16db7))

##### Fixed

- **md079**: flag whitespace in quoted positional chunk labels
([ea069c5](https://redirect.github.com/rvben/rumdl/commit/ea069c5023dcbca9ff683b259f37eaf4ac8a31bc))
- **quarto**: harden chunk header parser against codex review findings
([9ee8e28](https://redirect.github.com/rvben/rumdl/commit/9ee8e2892dfed842c8688f35e535b9c953093e1e))
- **test**: drive pipeline idempotency tests through real fix
coordinator
([5f9fdb9](https://redirect.github.com/rvben/rumdl/commit/5f9fdb9efd818611ba75034ba5ed8f9b5d781931))
- **test**: remove redundant default on MD077 unit struct
([6b383b0](https://redirect.github.com/rvben/rumdl/commit/6b383b0a46be1ddbc1a9311b3323486265c75e6e))

#### Downloads

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
---------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.1.93-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.93-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.93-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.93-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.93-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.93-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.93-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.93/rumdl-v0.1.93-x86_64-pc-windows-msvc.zip.sha256)
|

#### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

###
[`v0.1.92`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.1.92)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.1.91...v0.1.92)

##### Added

- **config**: accept \[rules.X] wrapper as alias for \[X]
([229ff7d](https://redirect.github.com/rvben/rumdl/commit/229ff7de14afa950991f42265860fc1da54ef6c8))

##### Fixed

- **md060**: accept single-space empty cells in compact style
([9518a81](https://redirect.github.com/rvben/rumdl/commit/9518a815f272822dd0e208f87c81c001e90689e8))

##### Downloads

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
---------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.1.92-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.92-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.92-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.92-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.92-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.92-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.92-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.92/rumdl-v0.1.92-x86_64-pc-windows-msvc.zip.sha256)
|

##### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

###
[`v0.1.91`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.1.91)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.1.90...v0.1.91)

##### Fixed

- **cache**: stabilize `hash_config` across identical config loads,
eliminating spurious "configuration hash changed" cache misses caused by
`HashMap` iteration order
([#&#8203;622](https://redirect.github.com/rvben/rumdl/issues/622),
fixes [#&#8203;621](https://redirect.github.com/rvben/rumdl/issues/621))
([f46be05](https://redirect.github.com/rvben/rumdl/commit/f46be05814e3241f82cc67c2fd40343d2506d379))
— thanks
[@&#8203;mattiasgronlund](https://redirect.github.com/mattiasgronlund)
- **ci**: branch off upstream master in sync-schemastore
([787a7ea](https://redirect.github.com/rvben/rumdl/commit/787a7eaf003f29a843f8ffc38128612c2919245a))

#### Downloads

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
---------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.1.91-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.91-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.91-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.1.91-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.1.91-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.91-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.1.91-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.1.91/rumdl-v0.1.91-x86_64-pc-windows-msvc.zip.sha256)
|

#### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

###
[`v0.1.90`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.1.90)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.1.89...v0.1.90)

##### Added

- **cache**: add structured cache miss reasons for verbose mode
([#&#8203;618](https://redirect.github.com/rvben/rumdl/issues/618))
([5c4f418](https://redirect.github.com/rvben/rumdl/commit/5c4f418a4de7d43d7bc6fae650ab77e75ccd312e))

##### Fixed

- **cli**: allow --profile output in --silent mode
([#&#8203;619](https://redirect.github.com/rvben/rumdl/issues/619))
([d9cde4d](https://redirect.github.com/rvben/rumdl/commit/d9cde4d6f3f02f2b3b5184f36c63a91ee30664a

> ✂ **Note**
>
> PR body was truncated to here.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on Monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mise](https://redirect.github.com/jdx/mise) | patch | `v2026.5.11` →
`v2026.5.15` |
| [mise](https://redirect.github.com/jdx/mise) | patch | `v2026.5.5` →
`v2026.5.15` |

---

### Release Notes

<details>
<summary>jdx/mise (mise)</summary>

###
[`v2026.5.15`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.15):
: loongarch64 and riscv64 support

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.14...v2026.5.15)

A small release that recognizes `loongarch64` and `riscv64` as valid
platform arches and refreshes the conda (rattler) backend.

##### Fixed

- Add `loongarch64` and `riscv64` to the set of arches accepted by
`Platform::validate()`. Previously, lockfiles targeting `linux-riscv64`
or `linux-loongarch64` would fall back to the common platform set
instead of resolving to the requested single platform, so installs on
those machines couldn't use lockfile-authoritative platform selection
([#&#8203;10038](https://redirect.github.com/jdx/mise/pull/10038) by
[@&#8203;k0tran](https://redirect.github.com/k0tran)).

##### Changed

- Bump `rattler` (used by the conda backend) from 0.42 to 0.43, picking
up upstream fixes for missing symlinks during Windows installs,
deterministic path ordering from `link_package_sync`, and accepting full
URLs as the OAuth issuer host
([#&#8203;10030](https://redirect.github.com/jdx/mise/pull/10030)).

##### New Contributors

- [@&#8203;k0tran](https://redirect.github.com/k0tran) made their first
contribution in
[#&#8203;10038](https://redirect.github.com/jdx/mise/pull/10038)

**Full Changelog**:
<jdx/mise@v2026.5.14...v2026.5.15>

##### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.14`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.14):
: Reject wrong-arch release assets

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.13...v2026.5.14)

A small fix release that hardens GitHub release asset auto-selection
against picking binaries for the wrong CPU architecture.

#### Fixed

- **(github)** Asset auto-selection now hard-rejects any candidate whose
filename explicitly declares a non-matching architecture, even when
other scoring bonuses (preferred name, archive type, libc match) would
otherwise rank it first. This fixes cases like `cargo-msrv` on aarch64
Linux, where `cargo-msrv-x86_64-unknown-linux-gnu-*.tgz` was being
chosen over no-match-better-than-wrong-match. Explicit `asset_pattern`
configuration is unchanged
([#&#8203;10018](https://redirect.github.com/jdx/mise/pull/10018) by
[@&#8203;jdx](https://redirect.github.com/jdx)).

**Full Changelog**:
<jdx/mise@v2026.5.13...v2026.5.14>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.13`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.13):
: Safer npm installs, faster shell completions

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.12...v2026.5.13)

A focused release that tightens npm install safety by default, removes
network calls from shell completion generation, and fixes asset picking
so primary release binaries beat related sub-archives.

#### Added

- **(npm)** The npm backend now passes `--ignore-scripts=true` by
default when installing through `npm`, and no longer adds Bun's
`--trust` flag automatically. `npm_args` and `bun_args` remain the user
escape hatches and are appended after the defaults, so you can opt back
in per tool
([#&#8203;9913](https://redirect.github.com/jdx/mise/pull/9913) by
[@&#8203;risu729](https://redirect.github.com/risu729)):

  ```toml
  [tools]
  # opt back into npm lifecycle scripts for one tool
"npm:some-tool" = { version = "latest", npm_args =
"--ignore-scripts=false" }
  # opt into Bun's broad install-time script trust
  "npm:other-tool" = { version = "latest", bun_args = "--trust" }
  ```

For dependency build approvals, prefer `aube` or `pnpm` with
`--allow-build=<pkg>`; see the refreshed npm backend docs.

#### Fixed

- **(completion)** `mise completion` is often invoked on shell init. It
no longer refreshes remote version metadata while building the toolset,
so slow networks and timeouts don't delay every new shell
([#&#8203;10010](https://redirect.github.com/jdx/mise/pull/10010) by
[@&#8203;sargunv-headway](https://redirect.github.com/sargunv-headway)).
- **(github)** Auto-detection scoring now gives a small bonus to assets
whose platform-stripped filename matches the repo/tool name, and treats
`manylinux*` / `musllinux*` asset names as Linux with the right
glibc/musl libc. This fixes installs like `opengrep/opengrep`, where
`opengrep-core_linux_aarch64.tar.gz` was previously winning over the
primary `opengrep_*` binary. Explicit `asset_pattern` configuration is
unchanged
([#&#8203;10008](https://redirect.github.com/jdx/mise/pull/10008) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(shim)** Optioned tool aliases (e.g. GitHub `tool_alias` entries
with per-alias `asset_pattern` / `bin_path`) are now visible to runtime
symlink and shim rebuilds. Previously these alias backends bypassed the
global backend cache and could be missed after install, leaving `latest`
symlinks or executable shims unbuilt
([#&#8203;9848](https://redirect.github.com/jdx/mise/pull/9848) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(release)** The embedded `mise-plugins` vfox plugin set now includes
`vfox-groovy`, `vfox-php`, and `vfox-scala` as fallbacks after the
default asdf backend
([#&#8203;9832](https://redirect.github.com/jdx/mise/pull/9832) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(doctor)** The `mise doctor` version-check request now uses the
regular HTTP client and the configured `http_timeout` (controllable via
`MISE_HTTP_TIMEOUT`), instead of an unconfigurable 3s timeout. Timeout
error messages now point at the real setting
([#&#8203;9977](https://redirect.github.com/jdx/mise/pull/9977) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(config)** Tool options coming from the install manifest are tracked
as their own source layer, kept below config and inline backend args in
precedence, and no longer serialized back out as inline backend args
([#&#8203;9958](https://redirect.github.com/jdx/mise/pull/9958) by
[@&#8203;risu729](https://redirect.github.com/risu729)).

#### Changed

- **(registry)** `vector` now uses the aqua backend, which has
Vector-specific `vdev-*` release filtering. This avoids resolving stray
`vdev-*` GitHub releases as the latest Vector
([#&#8203;10011](https://redirect.github.com/jdx/mise/pull/10011) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(registry)** `vale` now tracks its updated aqua-registry location
([#&#8203;10002](https://redirect.github.com/jdx/mise/pull/10002) by
[@&#8203;eread](https://redirect.github.com/eread)).
- **(dotnet)** The .NET backend reads `prerelease` (and other tool
options) through a local typed option reader, with the legacy
package-flag fallback preserved
([#&#8203;9962](https://redirect.github.com/jdx/mise/pull/9962) by
[@&#8203;risu729](https://redirect.github.com/risu729)).

**Full Changelog**:
<jdx/mise@v2026.5.12...v2026.5.13>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.12`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.12):
: minimum-release-age, global edit, and install_env fixes

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.11...v2026.5.12)

A focused release that renames the release-age cutoff flag to something
more discoverable, deprecates the legacy `default_packages_file`
mechanism, and fixes several `install_env` propagation gaps across
backends.

#### Added

- **(cli)** `mise edit --global` / `-g` opens the global config file
(`~/.config/mise/config.toml`, or `$MISE_GLOBAL_CONFIG_FILE` if set),
bringing `mise edit` in line with `mise use --global`, `mise settings
set --global`, and other commands. A positional path still wins over the
flag ([#&#8203;9953](https://redirect.github.com/jdx/mise/pull/9953) by
[@&#8203;fru1tworld](https://redirect.github.com/fru1tworld)).
- **(cli)** The release-age cutoff flag on `mise install`, `use`,
`upgrade`, and `latest` has been renamed from `--before` to
`--minimum-release-age`, matching the per-tool option and global setting
of the same name. The old `--before` spelling is kept as a hidden alias
so existing scripts keep working
([#&#8203;9768](https://redirect.github.com/jdx/mise/pull/9768) by
[@&#8203;risu729](https://redirect.github.com/risu729)):

  ```sh
  mise latest node --minimum-release-age 2024-01-01
  mise install --minimum-release-age 90d
  ```

#### Fixed

- **(aqua)** Verify cosign bundles that ship a long-lived public key via
`cosign.opts --key` locally, instead of routing them through
`sigstore-verify`'s unsupported public-key bundle path. This fixes
installs like `aqua:stackrox/kube-linter@0.8.3`, which previously failed
with `public key verification not yet supported`
([#&#8203;9972](https://redirect.github.com/jdx/mise/pull/9972) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(backend)** Per-tool `install_env` is now passed into tool-level
`postinstall` hook commands
([#&#8203;9930](https://redirect.github.com/jdx/mise/pull/9930) by
[@&#8203;risu729](https://redirect.github.com/risu729)) and applied to
command-backed install paths across package-manager backends, vfox
`cmd.exec` hooks, SPM build/probe commands, and core language
install-time commands
([#&#8203;9929](https://redirect.github.com/jdx/mise/pull/9929) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(cargo)** Fall back to `cargo install` (instead of `cargo-binstall`)
when tool options require source-build feature selection.
`cargo-binstall` is still used for compatible options such as `bin`,
`crate`, and `locked`
([#&#8203;9928](https://redirect.github.com/jdx/mise/pull/9928) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(config)** Restore the `env_file` setting and the `MISE_ENV_FILE`
env var, which had been incorrectly marked deprecated. `env._.file` in
`mise.toml` is the right replacement for legacy top-level `env_file`
entries, but it's not behaviorally equivalent to `MISE_ENV_FILE=.env`,
which uses `FindUp` from the current directory
([#&#8203;9903](https://redirect.github.com/jdx/mise/pull/9903) by
[@&#8203;risu729](https://redirect.github.com/risu729)).

#### Changed

- **(core)** Default package files are now on a deprecation timeline
([#&#8203;9970](https://redirect.github.com/jdx/mise/pull/9970) by
[@&#8203;jdx](https://redirect.github.com/jdx)). The settings
`go.default_packages_file`, `node.default_packages_file`,
`python.default_packages_file`, and `ruby.default_packages_file` (i.e.
`~/.default-go-packages`, `~/.default-npm-packages`,
`~/.default-python-packages`, `~/.default-gems`) will start emitting a
warning in `2026.11.0` and be removed in `2027.11.0`. The recommended
replacements are package-manager backends for CLIs:

  ```toml
  [tools]
  "npm:typescript" = "latest"
  "pipx:black"     = "latest"
  "gem:rubocop"    = "latest"
  "go:github.com/jesseduffield/lazygit" = "latest"
  ```

or a tool-level `postinstall` hook for packages that really should be
installed into every runtime version:

  ```toml
  [tools]
  node = { version = "22", postinstall = "npm install -g typescript" }
  ```

- **(cli)** User-facing help, docs, and the man page now use
tool/backend wording instead of plugin/runtime where tools are not
necessarily plugins, including renaming `MISE_${PLUGIN}_VERSION`
references to `MISE_${TOOL}_VERSION`. `mise tool-alias` now prefers
`--tool` as the primary long flag, with `--plugin` retained as an alias
([#&#8203;9906](https://redirect.github.com/jdx/mise/pull/9906) by
[@&#8203;risu729](https://redirect.github.com/risu729)).

- **(registry)** The `qsv` shorthand now resolves to `aqua:dathere/qsv`
first, falling back to the existing `github:dathere/qsv` and
`asdf:vjda/asdf-qsv` entries
([#&#8203;9910](https://redirect.github.com/jdx/mise/pull/9910) by
[@&#8203;risu729](https://redirect.github.com/risu729)).

- **(snap)** The snap package is now built and published for `arm64` in
addition to `amd64`, so `snap install mise` works on arm64 desktops
([#&#8203;9948](https://redirect.github.com/jdx/mise/pull/9948) by
[@&#8203;jnsgruk](https://redirect.github.com/jnsgruk)).

#### New Contributors

- [@&#8203;jnsgruk](https://redirect.github.com/jnsgruk) made their
first contribution in
[#&#8203;9948](https://redirect.github.com/jdx/mise/pull/9948)
- [@&#8203;fru1tworld](https://redirect.github.com/fru1tworld) made
their first contribution in
[#&#8203;9953](https://redirect.github.com/jdx/mise/pull/9953)

**Full Changelog**:
<jdx/mise@v2026.5.11...v2026.5.12>

#### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on Monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTQuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
zeitlinger and others added 28 commits June 4, 2026 15:09
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [hugo](https://redirect.github.com/gohugoio/hugo) | patch | `0.162.0`
→ `0.162.1` |

---

### Release Notes

<details>
<summary>gohugoio/hugo (hugo)</summary>

###
[`v0.162.1`](https://redirect.github.com/gohugoio/hugo/releases/tag/v0.162.1)

[Compare
Source](https://redirect.github.com/gohugoio/hugo/compare/v0.162.0...v0.162.1)

#### What's Changed

- modules/npm: Fix false stale warning after npm pack
[`59f35cd`](https://redirect.github.com/gohugoio/hugo/commit/59f35cd9)
[@&#8203;jmooring](https://redirect.github.com/jmooring)
[#&#8203;14959](https://redirect.github.com/gohugoio/hugo/issues/14959)
- Revert "tpl/collections: Make dict return nil when no values are
provided"
[`c270975`](https://redirect.github.com/gohugoio/hugo/commit/c2709750)
[@&#8203;bep](https://redirect.github.com/bep)
[#&#8203;14958](https://redirect.github.com/gohugoio/hugo/issues/14958)
- tpl/time: Fix locale-specific month abbreviations
[`ea8b48a`](https://redirect.github.com/gohugoio/hugo/commit/ea8b48af)
[@&#8203;jmooring](https://redirect.github.com/jmooring)
[#&#8203;14948](https://redirect.github.com/gohugoio/hugo/issues/14948)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTguMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5OC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mise](https://redirect.github.com/jdx/mise) | patch | `v2026.5.15` →
`v2026.5.18` |

---

### Release Notes

<details>
<summary>jdx/mise (mise)</summary>

###
[`v2026.5.18`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.18):
: Hook script arrays and lock-identity fixes

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.17...v2026.5.18)

A focused release that teaches hooks to accept script arrays, ships an
`npm install -g mise` package, and tightens lock identity across several
backends so `mise.lock` entries can no longer be reused for option
combinations that resolve to a different artifact set.

##### Added

- **(config)** Hooks now accept `script`/`scripts` arrays for
current-shell hooks
([#&#8203;9836](https://redirect.github.com/jdx/mise/pull/9836) by
[@&#8203;risu729](https://redirect.github.com/risu729)):

  ```toml
  [hooks.enter]
  shell = "bash"
  script = [
    "source completions.sh",
    "export PROJECT_READY=1",
  ]
  ```

Note that `run` is still string-only — to spawn multiple inline
commands, use a list of `{ run = "..." }` entries or one multiline `run`
string.

##### Fixed

- **(env)** PATH entries under mise's installs directory are now treated
as mise-managed during `hook-env` reactivation, so an inactive install
path like `installs/node/24/bin` inherited from a parent shell can no
longer sit ahead of the active project's `installs/node/22.17.1/bin`
([#&#8203;10162](https://redirect.github.com/jdx/mise/pull/10162) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(config)** `.miserc.toml` discovery now stops at raw
`MISE_CEILING_PATHS` entries (without recursing through the lazy
fallback), preventing a parent `.miserc.toml` above the ceiling from
injecting `MISE_ENV`
([#&#8203;10165](https://redirect.github.com/jdx/mise/pull/10165) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(task)** `mise tasks ls --json`, `tasks info --json`, and the MCP
tasks resource now serialize full `run` entries — including single task
refs and task groups — instead of script-only strings
([#&#8203;10163](https://redirect.github.com/jdx/mise/pull/10163) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(task)** Bump `usage-lib` to 3.4.0 and update the zsh completion to
read `display<TAB>insert` pairs from `usage complete-word`, restoring
task completions after the `usage-cli` 3.4.0 output change
([#&#8203;10181](https://redirect.github.com/jdx/mise/pull/10181) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(installer)** Add the missing `warn` helper used by the standalone
installer's checksum fallback paths
([#&#8203;10157](https://redirect.github.com/jdx/mise/pull/10157) by
[@&#8203;risu729](https://redirect.github.com/risu729), recreating
[@&#8203;olfway](https://redirect.github.com/olfway)'s original fix).

##### Lock identity

A batch of fixes ensures `mise lock` selects entries by an identity that
actually reflects the installed result, so toggling an option no longer
silently reuses a stale lock entry:

- **(conda)** Include the conda channel — the same `tool@version`
resolved against `conda-forge`, `bioconda`, or a private channel can
produce entirely different builds and checksums
([#&#8203;9984](https://redirect.github.com/jdx/mise/pull/9984) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(rust)** Include rustup `profile`, `components`, and `targets`, read
from both tool options and `rust-toolchain.toml`, with stable sorting
([#&#8203;9988](https://redirect.github.com/jdx/mise/pull/9988) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(github)** Include target artifact selectors (`api_url`,
`version_prefix`, per-platform `asset_pattern`, direct `url`, `no_app`)
for GitHub, GitLab, and Forgejo backends, resolved per target platform
([#&#8203;9985](https://redirect.github.com/jdx/mise/pull/9985) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(python)** Include non-default `patch_sysconfig = false` (the
interpreter tree differs after install); `virtualenv` stays out as an
activation-only overlay
([#&#8203;10161](https://redirect.github.com/jdx/mise/pull/10161) by
[@&#8203;risu729](https://redirect.github.com/risu729)).

##### Changed

- **(npm)** mise is now published to npm under the unscoped `mise`
package, so `npm install -g mise` and `npx mise` work directly. The
legacy `@jdxcode/mise` scoped package continues to be published, and the
new wrapper reuses the existing `@jdxcode/mise-<os>-<arch>` platform
tarballs
([#&#8203;10183](https://redirect.github.com/jdx/mise/pull/10183) by
[@&#8203;jdx](https://redirect.github.com/jdx)).

**Full Changelog**:
<jdx/mise@v2026.5.17...v2026.5.18>

##### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.17`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.17):
: Custom aqua registry cache and Windows fixes

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.16...v2026.5.17)

A catch-up release for the tag that shipped the compiled custom aqua
registry cache, several Windows task/shim fixes, and a handful of
backend install improvements. This release is backfilled without binary
assets; use `v2026.5.18` or newer for downloadable artifacts.

##### Added

- **(aqua)** Add a compiled custom registry cache to speed up aqua
registry lookups and reduce repeated parsing work
([#&#8203;9583](https://redirect.github.com/jdx/mise/pull/9583) by
[@&#8203;jdx](https://redirect.github.com/jdx)).

##### Fixed

- **(upgrade)** Handle a lone `v` prefix in `--bump` latest queries
([#&#8203;10130](https://redirect.github.com/jdx/mise/pull/10130) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(env)** Force the Unix environment key to uppercase `PATH`, avoiding
mixed-case path handling surprises
([#&#8203;9927](https://redirect.github.com/jdx/mise/pull/9927) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(http)** Limit fallback retries against the shared versions host
([#&#8203;10142](https://redirect.github.com/jdx/mise/pull/10142) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(bun)** Use Bun's native `windows-arm64` build for Bun 1.3.10 and
newer ([#&#8203;10150](https://redirect.github.com/jdx/mise/pull/10150)
by [@&#8203;M1noa](https://redirect.github.com/M1noa)).
- **(task)** Honor explicit and quoted shell paths on Windows
([#&#8203;10148](https://redirect.github.com/jdx/mise/pull/10148) by
[@&#8203;M1noa](https://redirect.github.com/M1noa)).
- **(task)** Convert `PATH` to `/cygdrive` form for Cygwin bash tasks on
Windows
([#&#8203;10147](https://redirect.github.com/jdx/mise/pull/10147) by
[@&#8203;M1noa](https://redirect.github.com/M1noa)).
- **(ui)** Honor color settings in interactive prompt themes
([#&#8203;10151](https://redirect.github.com/jdx/mise/pull/10151) by
[@&#8203;M1noa](https://redirect.github.com/M1noa)).
- **(pipx)** Upgrade the shared pip environment when using version
constraints
([#&#8203;10138](https://redirect.github.com/jdx/mise/pull/10138) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(shim)** Refresh stale Windows shims after a mise version update
([#&#8203;10152](https://redirect.github.com/jdx/mise/pull/10152) by
[@&#8203;M1noa](https://redirect.github.com/M1noa)).
- **(completion)** Keep global `-C`/`--cd` usable in task argument
completion
([#&#8203;10153](https://redirect.github.com/jdx/mise/pull/10153) by
[@&#8203;M1noa](https://redirect.github.com/M1noa)).
- **(github)** Handle `x86` release assets as `x64` fallbacks where
upstreams publish mismatched naming
([#&#8203;10103](https://redirect.github.com/jdx/mise/pull/10103) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(github)** Strip OpenGrep platform suffixes before asset matching
([#&#8203;10166](https://redirect.github.com/jdx/mise/pull/10166) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(github)** Penalize certificate assets as metadata so they are not
selected as install archives
([#&#8203;10158](https://redirect.github.com/jdx/mise/pull/10158) by
[@&#8203;jdx](https://redirect.github.com/jdx)).

##### Changed

- Registry: add `herdr` via `github:ogulcancelik/herdr`
([#&#8203;10154](https://redirect.github.com/jdx/mise/pull/10154) by
[@&#8203;ogulcan](https://redirect.github.com/ogulcan)).
- Registry: add `databricks-cli` via `aqua:databricks/cli`
([#&#8203;10072](https://redirect.github.com/jdx/mise/pull/10072) by
[@&#8203;nstrug](https://redirect.github.com/nstrug)).
- **(spm)** Parse SwiftPM tool options locally
([#&#8203;9959](https://redirect.github.com/jdx/mise/pull/9959) by
[@&#8203;jdx](https://redirect.github.com/jdx)).

##### Documentation

- Split glossary aliases into Tool Aliases and Shell Aliases
([#&#8203;9983](https://redirect.github.com/jdx/mise/pull/9983) by
[@&#8203;BenjaminChr](https://redirect.github.com/BenjaminChr)).
- Update the webpage tooling copy to use current tools
([#&#8203;10170](https://redirect.github.com/jdx/mise/pull/10170) by
[@&#8203;jdx](https://redirect.github.com/jdx)).

**Full Changelog**:
<jdx/mise@v2026.5.16...v2026.5.17>

##### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

###
[`v2026.5.16`](https://redirect.github.com/jdx/mise/releases/tag/v2026.5.16):
: versions-host metadata, fork-bomb fixes, and friendlier upgrades

[Compare
Source](https://redirect.github.com/jdx/mise/compare/v2026.5.15...v2026.5.16)

##### Added

- **(github)** Use the shared `mise-versions` host for release metadata
and artifact attestations before falling back to `api.github.com`,
dramatically cutting anonymous GitHub API usage in CI/Docker
([#&#8203;10127](https://redirect.github.com/jdx/mise/pull/10127) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(node)** New `node.npm_shim` setting (`MISE_NODE_NPM_SHIM`) to opt
out of the bundled npm wrapper, letting `corepack` manage `bin/npm`
cleanly
([#&#8203;10082](https://redirect.github.com/jdx/mise/pull/10082) by
[@&#8203;jjb](https://redirect.github.com/jjb)).
- **(npm)** New `allow_builds` tool option for npm-backend installs that
expands to `--allow-build=<pkg>` for aube and pnpm, accepting a string,
array, or `true` for all builds
([#&#8203;10116](https://redirect.github.com/jdx/mise/pull/10116) by
[@&#8203;jdx](https://redirect.github.com/jdx)).

##### Fixed

- **(backend)** Strip the system shims dir from `dependency_env` PATH to
prevent npm/go shim re-entry fork-bombs in devcontainer/Docker setups
using `mise install --system`
([#&#8203;10019](https://redirect.github.com/jdx/mise/pull/10019) by
[@&#8203;andrewjamesbrown](https://redirect.github.com/andrewjamesbrown)).
- **(backend)** Improve libc detection on musl distros so installing
`gcompat` on Alpine no longer flips mise to glibc binaries
([#&#8203;10020](https://redirect.github.com/jdx/mise/pull/10020) by
[@&#8203;thespags](https://redirect.github.com/thespags)).
- **(aqua)** Skip in-place link creation when src and dst alias the same
inode (fixes godot install on macOS/APFS)
([#&#8203;10012](https://redirect.github.com/jdx/mise/pull/10012) by
[@&#8203;tvararu](https://redirect.github.com/tvararu)).
- **(aqua)** Lock `github_content` packages using raw GitHub content
URLs instead of archive URLs
([#&#8203;10102](https://redirect.github.com/jdx/mise/pull/10102) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(toolset)** `hook-env` and other prefer-offline flows no longer
fetch remote versions to resolve concrete/`latest`/`prefix:*` specs,
speeding up shells with many fuzzy tools
([#&#8203;10098](https://redirect.github.com/jdx/mise/pull/10098) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(upgrade)** Preserve installed versions still pinned by other
tracked project lockfiles during upgrade cleanup
([#&#8203;10114](https://redirect.github.com/jdx/mise/pull/10114) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(upgrade)** Improve current version detection so prefix requests
like `go = "1.25"` show the best matching installed version in summaries
([#&#8203;9973](https://redirect.github.com/jdx/mise/pull/9973) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(lock)** Allow `mise lock` and `mise upgrade` to refresh `mise.lock`
even when `locked = true` is set
([#&#8203;10111](https://redirect.github.com/jdx/mise/pull/10111) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(install)** Reject install requests whose resolved backend is in
`disable_backends`, including explicit syntax like `ubi:owner/repo`
([#&#8203;9905](https://redirect.github.com/jdx/mise/pull/9905) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- **(use)** Reject tool version strings that start with `-` (e.g. `mise
use dummy@--version`)
([#&#8203;10113](https://redirect.github.com/jdx/mise/pull/10113) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(en)** Preserve `MISE_ENV` / `-E` profile when an activated subshell
sources `mise activate`
([#&#8203;10124](https://redirect.github.com/jdx/mise/pull/10124) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(unset)** Respect `MISE_GLOBAL_CONFIG_FILE` when running `mise
unset` from `$HOME`, matching `mise set`/`use`
([#&#8203;10105](https://redirect.github.com/jdx/mise/pull/10105) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(task)** Set `config_root` on tasks loaded from global config so
`{{config_root}}` renders correctly
([#&#8203;10106](https://redirect.github.com/jdx/mise/pull/10106) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(task)** Render templates and expand `~/` in sandbox `allow_read` /
`allow_write` paths
([#&#8203;10112](https://redirect.github.com/jdx/mise/pull/10112) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(shim)** Skip dot-prefixed (hidden) executables when generating
shims ([#&#8203;10123](https://redirect.github.com/jdx/mise/pull/10123)
by [@&#8203;jdx](https://redirect.github.com/jdx)).
- **(pipx)** Combine `--pip-args=VALUE` into a single argv element so
pipx's argparse accepts values starting with `--`
([#&#8203;10120](https://redirect.github.com/jdx/mise/pull/10120) by
[@&#8203;iloveitaly](https://redirect.github.com/iloveitaly)).
- **(security)** Apply `url_replacements` to the GitHub attestations API
base URL ([#&#8203;9971](https://redirect.github.com/jdx/mise/pull/9971)
by [@&#8203;SlaterByte](https://redirect.github.com/SlaterByte)).
- Show the mise version in friendly error output
([#&#8203;10109](https://redirect.github.com/jdx/mise/pull/10109) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- **(copr)** Increase build timeout
([#&#8203;10071](https://redirect.github.com/jdx/mise/pull/10071) by
[@&#8203;jdx](https://redirect.github.com/jdx)).

##### Performance

- Cache repeated successful path canonicalization across hot
PATH/shim/activation lookups
([#&#8203;10068](https://redirect.github.com/jdx/mise/pull/10068) by
[@&#8203;jdx](https://redirect.github.com/jdx)).

##### Changed

- Registry: use the npm backend for `npm` on Windows (aqua's standalone
`npm/cli` tarball is broken on Windows)
([#&#8203;10101](https://redirect.github.com/jdx/mise/pull/10101) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- Registry: allow narrow dependency builds for npm-primary tools
(`wrangler`, `gemini-cli`, `vercel`, `codebuff`, `jules`, `orval`,
`serverless`), and drop npm fallbacks for `ast-grep`, `lefthook`,
`claude`, `code`
([#&#8203;9916](https://redirect.github.com/jdx/mise/pull/9916) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- Registry: add `modem-dev/hunk`
([#&#8203;10051](https://redirect.github.com/jdx/mise/pull/10051) by
[@&#8203;naoki-mizuno](https://redirect.github.com/naoki-mizuno)),
`wacli`
([#&#8203;10043](https://redirect.github.com/jdx/mise/pull/10043) by
[@&#8203;dovocoder](https://redirect.github.com/dovocoder)), `liquibase`
via the github backend
([#&#8203;10052](https://redirect.github.com/jdx/mise/pull/10052) by
[@&#8203;benberryallwood](https://redirect.github.com/benberryallwood)),
`longbridge-terminal`
([#&#8203;10073](https://redirect.github.com/jdx/mise/pull/10073) by
[@&#8203;hogan-yuan](https://redirect.github.com/hogan-yuan)), and make
`aube` more resilient
([#&#8203;10092](https://redirect.github.com/jdx/mise/pull/10092) by
[@&#8203;bgeron](https://redirect.github.com/bgeron),
[#&#8203;10110](https://redirect.github.com/jdx/mise/pull/10110)).

##### Documentation

- Fix Scoop installation section
([#&#8203;10059](https://redirect.github.com/jdx/mise/pull/10059) by
[@&#8203;ofek](https://redirect.github.com/ofek)).
- Clarify untrusted config behavior
([#&#8203;10097](https://redirect.github.com/jdx/mise/pull/10097) by
[@&#8203;jdx](https://redirect.github.com/jdx)).
- Remove outdated terraform `main.tf` reference
([#&#8203;10099](https://redirect.github.com/jdx/mise/pull/10099) by
[@&#8203;risu729](https://redirect.github.com/risu729)).
- Remove broken "How I Use mise" link
([#&#8203;10081](https://redirect.github.com/jdx/mise/pull/10081) by
[@&#8203;HYP3R00T](https://redirect.github.com/HYP3R00T)).

##### 💚 Sponsor mise

mise is built by [@&#8203;jdx](https://redirect.github.com/jdx) under
[**en.dev**](https://en.dev) — an independent studio making developer
tooling (mise, [aube](https://aube.en.dev/), and more). Development is
funded by sponsors.

If mise saves you or your team time, please consider sponsoring at
[en.dev](https://en.dev). Individual and company sponsorships keep mise
fast, free, and independent.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on Monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/download-artifact](https://redirect.github.com/actions/download-artifact)
| action | major | `v7.0.0` → `v8.0.1` |

---

### Release Notes

<details>
<summary>actions/download-artifact (actions/download-artifact)</summary>

###
[`v8.0.1`](https://redirect.github.com/actions/download-artifact/releases/tag/v8.0.1)

[Compare
Source](https://redirect.github.com/actions/download-artifact/compare/v8...v8.0.1)

##### What's Changed

- Support for CJK characters in the artifact name by
[@&#8203;danwkennedy](https://redirect.github.com/danwkennedy) in
[#&#8203;471](https://redirect.github.com/actions/download-artifact/pull/471)
- Add a regression test for artifact name + content-type mismatches by
[@&#8203;danwkennedy](https://redirect.github.com/danwkennedy) in
[#&#8203;472](https://redirect.github.com/actions/download-artifact/pull/472)

**Full Changelog**:
<actions/download-artifact@v8...v8.0.1>

###
[`v8.0.0`](https://redirect.github.com/actions/download-artifact/releases/tag/v8.0.0)

[Compare
Source](https://redirect.github.com/actions/download-artifact/compare/v8...v8)

##### v8 - What's new

##### Direct downloads

To support direct uploads in `actions/upload-artifact`, the action will
no longer attempt to unzip all downloaded files. Instead, the action
checks the `Content-Type` header ahead of unzipping and skips non-zipped
files. Callers wishing to download a zipped file as-is can also set the
new `skip-decompress` parameter to `false`.

##### Enforced checks (breaking)

A previous release introduced digest checks on the download. If a
download hash didn't match the expected hash from the server, the action
would log a warning. Callers can now configure the behavior on mismatch
with the `digest-mismatch` parameter. To be secure by default, we are
now defaulting the behavior to `error` which will fail the workflow run.

##### ESM

To support new versions of the @&#8203;actions/\* packages, we've
upgraded the package to ESM.

##### What's Changed

- Don't attempt to un-zip non-zipped downloads by
[@&#8203;danwkennedy](https://redirect.github.com/danwkennedy) in
[#&#8203;460](https://redirect.github.com/actions/download-artifact/pull/460)
- Add a setting to specify what to do on hash mismatch and default it to
`error` by
[@&#8203;danwkennedy](https://redirect.github.com/danwkennedy) in
[#&#8203;461](https://redirect.github.com/actions/download-artifact/pull/461)

**Full Changelog**:
<actions/download-artifact@v7...v8.0.0>

###
[`v8`](https://redirect.github.com/actions/download-artifact/compare/v7...v8)

[Compare
Source](https://redirect.github.com/actions/download-artifact/compare/v7.0.0...v8)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Update | Change | Pending |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|---|---|
| [aqua:owenlamont/ryl](https://redirect.github.com/owenlamont/ryl) |
minor | `0.10.0` → `0.11.0` | |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/owenlamont%2fryl/0.11.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/owenlamont%2fryl/0.10.0/0.11.0?slim=true)
|
| [biome](https://redirect.github.com/biomejs/biome) | patch | `2.4.12`
→ `2.4.16` | |
![age](https://developer.mend.io/api/mc/badges/age/github-tags/biomejs%2fbiome/2.4.16?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/biomejs%2fbiome/2.4.12/2.4.16?slim=true)
|
| [npm:renovate](https://renovatebot.com)
([source](https://redirect.github.com/renovatebot/renovate)) | minor |
`43.150.0` → `43.202.1` | `43.205.3` (+6) |
![age](https://developer.mend.io/api/mc/badges/age/npm/renovate/43.202.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/renovate/43.150.0/43.202.1?slim=true)
|
| [ruff](https://redirect.github.com/astral-sh/ruff) | patch | `0.15.14`
→ `0.15.15` | |
![age](https://developer.mend.io/api/mc/badges/age/github-releases/astral-sh%2fruff/0.15.15?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/astral-sh%2fruff/0.15.14/0.15.15?slim=true)
|
| [rumdl](https://redirect.github.com/rvben/rumdl) | patch | `0.2.0` →
`0.2.4` | |
![age](https://developer.mend.io/api/mc/badges/age/github-releases/rvben%2frumdl/v0.2.4?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/rvben%2frumdl/v0.2.0/v0.2.4?slim=true)
|
| [typos](https://redirect.github.com/crate-ci/typos) | minor | `1.46.3`
→ `1.47.0` | |
![age](https://developer.mend.io/api/mc/badges/age/github-releases/crate-ci%2ftypos/1.47.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/github-releases/crate-ci%2ftypos/1.46.3/1.47.0?slim=true)
|

---

### Release Notes

<details>
<summary>owenlamont/ryl (aqua:owenlamont/ryl)</summary>

###
[`v0.11.0`](https://redirect.github.com/owenlamont/ryl/releases/tag/v0.11.0)

[Compare
Source](https://redirect.github.com/owenlamont/ryl/compare/v0.10.2...v0.11.0)

#### ⚠️ Breaking changes (0.10.2 → 0.11.0)

This release is not purely additive. Before upgrading:

1. **TOML `yaml-files` is rejected** — use `[files].yaml` instead. A
`ryl.toml` / `.ryl.toml` / `[tool.ryl]` that sets `yaml-files = [...]`
now
fails with exit 2 (`yaml-files is not valid in TOML; use [files] with
yaml = [...]`).
YAML (`.yamllint`) configs are unaffected, and `ryl --migrate-configs`
   converts it for you.
2. **A file matching no source kind is now an error (exit 2), not a
silent skip.**
   This applies both to files passed explicitly (e.g. `ryl README.md`,
`ryl $(git diff --name-only)`) and to `ryl - --stdin-filename
<non-YAML-path>`.
   Plain `ryl -` and the `types: [yaml]` pre-commit hook are unaffected.
3. **Multibyte column fix** — `commas` / `colons` / `braces` /
`brackets` now
report character-based columns. No diagnostics are added or removed, but
the
   reported `col` can shift on lines containing multibyte characters.
4. **Inline disable directives are now strictly yamllint-conformant.**
Malformed
`# yamllint disable…` comments (extra spaces after `#`, a missing
`rule:`
prefix, or trailing tokens) are treated as plain comments and no longer
   suppress diagnostics, matching yamllint exactly.

New, opt-in and non-breaking: YAML-in-Markdown linting
(`[files].markdown` or
the `--markdown` flag) and a preferred `# ryl …` spelling for inline
directives
(`# yamllint …` still works as a compatibility alias).

***

#### What's Changed

- Lint YAML embedded in Markdown; add `[files]` source-kind config
(closes
[#&#8203;222](https://redirect.github.com/owenlamont/ryl/issues/222)) by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;237](https://redirect.github.com/owenlamont/ryl/pull/237)
- Property tests for rule checkers + char-column fix (closes
[#&#8203;239](https://redirect.github.com/owenlamont/ryl/issues/239)) by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;240](https://redirect.github.com/owenlamont/ryl/pull/240)
- Markdown embedding follow-ups: `--fix` write-back + stdin +
`--markdown` (closes
[#&#8203;236](https://redirect.github.com/owenlamont/ryl/issues/236)) by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;241](https://redirect.github.com/owenlamont/ryl/pull/241)
- Support inline rule-disable directives globally (closes
[#&#8203;242](https://redirect.github.com/owenlamont/ryl/issues/242)) by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;243](https://redirect.github.com/owenlamont/ryl/pull/243)

**Full Changelog**:
<owenlamont/ryl@v0.10.2...v0.11.0>

###
[`v0.10.2`](https://redirect.github.com/owenlamont/ryl/releases/tag/v0.10.2)

[Compare
Source](https://redirect.github.com/owenlamont/ryl/compare/v0.10.1...v0.10.2)

#### What's Changed

- build(deps): bump taiki-e/install-action from 2.78.1 to 2.79.5 in the
actions-dependencies group by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;233](https://redirect.github.com/owenlamont/ryl/pull/233)
- Fix char-index vs byte-offset bugs across rules (closes
[#&#8203;232](https://redirect.github.com/owenlamont/ryl/issues/232)) +
release 0.10.2 by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;234](https://redirect.github.com/owenlamont/ryl/pull/234)
- Update Rust toolchain from 1.95.0 to 1.96.0 (closes
[#&#8203;231](https://redirect.github.com/owenlamont/ryl/issues/231)) by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;235](https://redirect.github.com/owenlamont/ryl/pull/235)

**Full Changelog**:
<owenlamont/ryl@v0.10.1...v0.10.2>

###
[`v0.10.1`](https://redirect.github.com/owenlamont/ryl/releases/tag/v0.10.1)

[Compare
Source](https://redirect.github.com/owenlamont/ryl/compare/v0.10.0...v0.10.1)

#### What's Changed

- Phase 1: migrate event-stream parser from saphyr-parser to
granit-parser by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;227](https://redirect.github.com/owenlamont/ryl/pull/227)
- Phase 2: vendor saphyr DOM and drop saphyr dependency by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;228](https://redirect.github.com/owenlamont/ryl/pull/228)
- Update Rust toolchain from 1.93.1 to 1.95.0 (closes
[#&#8203;229](https://redirect.github.com/owenlamont/ryl/issues/229)) by
[@&#8203;owenlamont](https://redirect.github.com/owenlamont) in
[#&#8203;230](https://redirect.github.com/owenlamont/ryl/pull/230)

**Full Changelog**:
<owenlamont/ryl@v0.10.0...v0.10.1>

</details>

<details>
<summary>biomejs/biome (biome)</summary>

###
[`v2.4.16`](https://redirect.github.com/biomejs/biome/compare/9dd3271eef16090416b6e77615a01e3bfbcf7993...5f4ea56b1dfb00d839af218e3c6484154073a7eb)

[Compare
Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.4.15...@biomejs/biome@2.4.16)

###
[`v2.4.15`](https://redirect.github.com/biomejs/biome/compare/46393e0240944064eb2a33c1810fc4204ced0cf7...9dd3271eef16090416b6e77615a01e3bfbcf7993)

[Compare
Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.4.14...@biomejs/biome@2.4.15)

###
[`v2.4.14`](https://redirect.github.com/biomejs/biome/compare/e31615035808fc71d47c3a8ebf1235005d999f78...46393e0240944064eb2a33c1810fc4204ced0cf7)

[Compare
Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.4.13...@biomejs/biome@2.4.14)

###
[`v2.4.13`](https://redirect.github.com/biomejs/biome/compare/baaacfc4cc000070742ac54d6394ed74152a204c...e31615035808fc71d47c3a8ebf1235005d999f78)

[Compare
Source](https://redirect.github.com/biomejs/biome/compare/@biomejs/biome@2.4.12...@biomejs/biome@2.4.13)

</details>

<details>
<summary>renovatebot/renovate (npm:renovate)</summary>

###
[`v43.202.1`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.202.1)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.202.0...43.202.1)

##### Miscellaneous Chores

- **deps:** update dependency protobufjs\@&#8203;8.0.1 to v8.4.2 (main)
([#&#8203;43671](https://redirect.github.com/renovatebot/renovate/issues/43671))
([27dd08d](https://redirect.github.com/renovatebot/renovate/commit/27dd08dc6b89b847c84c14b6f23c1098f2b6e86b))

##### Build System

- **deps:** update dependency protobufjs to v8.4.2 (main)
([#&#8203;43670](https://redirect.github.com/renovatebot/renovate/issues/43670))
([ae1039a](https://redirect.github.com/renovatebot/renovate/commit/ae1039ad331f7c60de701398a895dfc9fc90604b))

###
[`v43.202.0`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.202.0)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.201.3...43.202.0)

##### Features

- **deps:** update ghcr.io/renovatebot/base-image docker tag to v13.55.0
(main)
([#&#8203;43669](https://redirect.github.com/renovatebot/renovate/issues/43669))
([f3ed6fb](https://redirect.github.com/renovatebot/renovate/commit/f3ed6fb7507f3008fe5a3e20f3e087afd7035e62))

###
[`v43.201.3`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.201.3)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.201.2...43.201.3)

##### Bug Fixes

- **deps:** update ghcr.io/renovatebot/base-image docker tag to v13.54.2
(main)
([#&#8203;43668](https://redirect.github.com/renovatebot/renovate/issues/43668))
([05bd161](https://redirect.github.com/renovatebot/renovate/commit/05bd161ccdddacaed4d226962261c527aec48d0d))

###
[`v43.201.2`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.201.2)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.201.1...43.201.2)

##### Bug Fixes

- **deps:** update ghcr.io/renovatebot/base-image docker tag to v13.54.1
(main)
([#&#8203;43667](https://redirect.github.com/renovatebot/renovate/issues/43667))
([7b74cba](https://redirect.github.com/renovatebot/renovate/commit/7b74cba8b051062c4151700dee550814921dc855))

##### Miscellaneous Chores

- **deps:** update dependency protobufjs\@&#8203;8.0.1 to v8.4.1 (main)
([#&#8203;43666](https://redirect.github.com/renovatebot/renovate/issues/43666))
([0b6059d](https://redirect.github.com/renovatebot/renovate/commit/0b6059dc1a846b6d0e59d8360647084daa2486e3))

###
[`v43.201.1`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.201.1)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.200.1...43.201.1)

##### Miscellaneous Chores

- **deps:** update dependency
[@&#8203;smithy/util-stream](https://redirect.github.com/smithy/util-stream)
to v4.6.4 (main)
([#&#8203;43664](https://redirect.github.com/renovatebot/renovate/issues/43664))
([e8d3159](https://redirect.github.com/renovatebot/renovate/commit/e8d31597e3c11be52bff486cb0371f007a92a464))

##### Build System

- **deps:** update dependency protobufjs to v8.4.1 (main)
([#&#8203;43663](https://redirect.github.com/renovatebot/renovate/issues/43663))
([779866a](https://redirect.github.com/renovatebot/renovate/commit/779866a1c4dea35a991d1225dd4af480faefb493))

###
[`v43.200.1`](https://redirect.github.com/renovatebot/renovate/releases/tag/43.200.1)

[Compare
Source](https://redirect.github.com/renovatebot/renovate/compare/43.150.0...43.200.1)

##### Bug Fixes

- **deps): Revert "build(deps:** update dependency node to v24.16.0
(main)"
([#&#8203;43658](https://redirect.github.com/renovatebot/renovate/issues/43658))
([249c3bf](https://redirect.github.com/renovatebot/renovate/commit/249c3bfe3be2b3df7cdc07df3064e8295b980d73)),
closes
[#&#8203;43527](https://redirect.github.com/renovatebot/renovate/issues/43527)

</details>

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.15.15`](https://redirect.github.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#01515)

[Compare
Source](https://redirect.github.com/astral-sh/ruff/compare/0.15.14...0.15.15)

Released on 2026-05-28.

##### Preview features

- Fix Markdown closing fence handling
([#&#8203;25310](https://redirect.github.com/astral-sh/ruff/pull/25310))
- \[`pyflakes`] Report duplicate imports in `typing.TYPE_CHECKING` block
(`F811`)
([#&#8203;22560](https://redirect.github.com/astral-sh/ruff/pull/22560))

##### Bug fixes

- \[`pyflakes`] Treat function-scope bare annotations as locals per PEP
526 (`F821`)
([#&#8203;21540](https://redirect.github.com/astral-sh/ruff/pull/21540))

##### Performance

- Avoid redundant `TokenValue` drops in the lexer
([#&#8203;25300](https://redirect.github.com/astral-sh/ruff/pull/25300))
- Reduce memory usage by dropping token-excess capacity and improve
performance by approximating the initial tokens `Vec` size
([#&#8203;25354](https://redirect.github.com/astral-sh/ruff/pull/25354))
- Use `ThinVec` in AST to shrink `Stmt`
([#&#8203;25361](https://redirect.github.com/astral-sh/ruff/pull/25361))

##### Documentation

- Fix `line-length` example for `--config` option
([#&#8203;25389](https://redirect.github.com/astral-sh/ruff/pull/25389))
- \[`flake8-comprehensions`] Document `RecursionError` edge case in
`__len__` (`C416`)
([#&#8203;25286](https://redirect.github.com/astral-sh/ruff/pull/25286))
- \[`mccabe`] Improve example (`C901`)
([#&#8203;25287](https://redirect.github.com/astral-sh/ruff/pull/25287))
- \[`pyupgrade`] Clarify fix safety docs (`UP007`, `UP045`)
([#&#8203;25288](https://redirect.github.com/astral-sh/ruff/pull/25288))
- \[`refurb`] Document `FURB192` exception change for empty sequences
([#&#8203;25317](https://redirect.github.com/astral-sh/ruff/pull/25317))
- \[`ruff`] Document false negative for user-defined types (`RUF013`)
([#&#8203;25289](https://redirect.github.com/astral-sh/ruff/pull/25289))

##### Formatter

- Fix formatting of lambdas nested within f-strings
([#&#8203;25398](https://redirect.github.com/astral-sh/ruff/pull/25398))

##### Server

- Return code action for `codeAction/resolve` requests that contain no
or no valid URL
([#&#8203;25365](https://redirect.github.com/astral-sh/ruff/pull/25365))

##### Other changes

- Expand semantic syntax errors for invalid walruses
([#&#8203;25415](https://redirect.github.com/astral-sh/ruff/pull/25415))

##### Contributors

- [@&#8203;chirizxc](https://redirect.github.com/chirizxc)
- [@&#8203;ntBre](https://redirect.github.com/ntBre)
- [@&#8203;adityasingh2400](https://redirect.github.com/adityasingh2400)
- [@&#8203;charliermarsh](https://redirect.github.com/charliermarsh)
- [@&#8203;fallintoplace](https://redirect.github.com/fallintoplace)
-
[@&#8203;martin-schlossarek](https://redirect.github.com/martin-schlossarek)
- [@&#8203;MichaReiser](https://redirect.github.com/MichaReiser)
- [@&#8203;Ruchir28](https://redirect.github.com/Ruchir28)

</details>

<details>
<summary>rvben/rumdl (rumdl)</summary>

###
[`v0.2.4`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.2.4)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.2.3...v0.2.4)

##### Fixed

- **md060**: apply aligned-delimiter when a table auto-compacts past
max-width
([663f4ba](https://redirect.github.com/rvben/rumdl/commit/663f4babbb24102bd80924c2d31c9bd7005c61e7))
- **md034**: don't flag URL arguments of MyST colon directives
([d55ed20](https://redirect.github.com/rvben/rumdl/commit/d55ed20eab6a5b7d17f53976af53c019e4d3b0c1))
- **embedded**: gate markdown code block formatting behind
code-block-tools opt-in
([bd23ad1](https://redirect.github.com/rvben/rumdl/commit/bd23ad15e02499100f9d76ed24e9aae16b8750b6))
- **md046**: treat MyST directive body as directive, not indented code
block
([060bae2](https://redirect.github.com/rvben/rumdl/commit/060bae2292c7e25805abc1d86de709252c607641))

#### Downloads

| File | Platform | Checksum |
|
--------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
-------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.2.4-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.2.4-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.2.4-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.2.4-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.2.4-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.2.4-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.2.4-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.4/rumdl-v0.2.4-x86_64-pc-windows-msvc.zip.sha256)
|

#### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

###
[`v0.2.3`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.2.3)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.2.2...v0.2.3)

##### Fixed

- **code-block-tools**: pipe newline-terminated content to external
tools
([497d892](https://redirect.github.com/rvben/rumdl/commit/497d89227f2307cf1f29095cf9024ed2dd878f3d))

#### Downloads

| File | Platform | Checksum |
|
--------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
-------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.2.3-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.2.3-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.2.3-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.2.3-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.2.3-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.2.3-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.2.3-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.3/rumdl-v0.2.3-x86_64-pc-windows-msvc.zip.sha256)
|

#### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

###
[`v0.2.2`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.2.2)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.2.1...v0.2.2)

##### Fixed

- **md081**: treat unset and 0 as distinct emphasis thresholds
([ca992bd](https://redirect.github.com/rvben/rumdl/commit/ca992bd8fa0116024a9dd084b403df7f0edf4aa8))

#### Downloads

| File | Platform | Checksum |
|
--------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
-------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.2.2-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.2.2-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.2.2-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.2.2-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.2.2-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.2.2-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.2.2-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.2/rumdl-v0.2.2-x86_64-pc-windows-msvc.zip.sha256)
|

#### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

###
[`v0.2.1`](https://redirect.github.com/rvben/rumdl/releases/tag/v0.2.1)

[Compare
Source](https://redirect.github.com/rvben/rumdl/compare/v0.2.0...v0.2.1)

##### Added

- **md081**: add no-excessive-emphasis rule
([7e9ac64](https://redirect.github.com/rvben/rumdl/commit/7e9ac64cab270b59b4bdaf70595fa32a28ffac32))

#### Downloads

| File | Platform | Checksum |
|
--------------------------------------------------------------------------------------------------------------------------------------------------------
| --------------------------- |
-------------------------------------------------------------------------------------------------------------------------
|
|
[rumdl-v0.2.1-x86\_64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-x86_64-unknown-linux-gnu.tar.gz)
| Linux x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-x86_64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.2.1-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-x86_64-unknown-linux-musl.tar.gz)
| Linux x86\_64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-x86_64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.2.1-aarch64-unknown-linux-gnu.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-aarch64-unknown-linux-gnu.tar.gz)
| Linux ARM64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-aarch64-unknown-linux-gnu.tar.gz.sha256)
|
|
[rumdl-v0.2.1-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-aarch64-unknown-linux-musl.tar.gz)
| Linux ARM64 (musl) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[rumdl-v0.2.1-x86\_64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-x86_64-apple-darwin.tar.gz)
| macOS x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-x86_64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.2.1-aarch64-apple-darwin.tar.gz](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-aarch64-apple-darwin.tar.gz)
| macOS ARM64 (Apple Silicon) |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-aarch64-apple-darwin.tar.gz.sha256)
|
|
[rumdl-v0.2.1-x86\_64-pc-windows-msvc.zip](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-x86_64-pc-windows-msvc.zip)
| Windows x86\_64 |
[checksum](https://redirect.github.com/rvben/rumdl/releases/download/v0.2.1/rumdl-v0.2.1-x86_64-pc-windows-msvc.zip.sha256)
|

#### Installation

##### Using uv (Recommended)

```bash
uv tool install rumdl
```

##### Using pip

```bash
pip install rumdl
```

##### Using pipx

```bash
pipx install rumdl
```

##### Direct Download

Download the appropriate binary for your platform from the table above,
extract it, and add it to your PATH.

</details>

<details>
<summary>crate-ci/typos (typos)</summary>

###
[`v1.47.0`](https://redirect.github.com/crate-ci/typos/blob/HEAD/CHANGELOG.md#1470---2026-05-29)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.46.3...v1.47.0)

##### Features

- Updated the dictionary with the [May
2026](https://redirect.github.com/crate-ci/typos/issues/1545) changes

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - "before 4am on Monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Refactored code to use optimized sort algorithms.

Signed-off-by: dhoard <doug.hoard@gmail.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Adds typed metric family descriptors and typed metadata support for the
model snapshots.

This is the typed-descriptor branch for downstreams that want to provide
registration-time metadata explicitly. The #1800
Collector/MultiCollector registration metadata hooks are already
optional via default methods, so unmodified downstreams should not need
this PR just to keep working.

This PR now also deprecates the fragmented registration metadata API
(`getPrometheusName()`, `getMetricType()`, `getLabelNames()`, and
`getMetadata()` plus the `MultiCollector` variants) in favor of
`getMetricFamilyDescriptor()` / `getMetricFamilyDescriptors()`. The
deprecated methods remain bridged by default implementations for
compatibility.

Related validation:

- #2121 validates unmodified Micrometer independently of #2114, against
`main` + #2124.
- #2123 validates a Micrometer branch that explicitly uses
`MetricFamilyDescriptor` to implement the existing registration metadata
hooks without invoking scrape/sample callbacks during registration.

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
## Summary

- add `@StableApi` as the opt-in marker for published Java API
- seed the guessed stable API surface from docs plus Micrometer/JMX
usage
- add `mise run api-diff` using japicmp against the configured baseline
- add an API diff workflow that fails on incompatible published API
changes

## Notes

This is the bootstrap PR for the annotation-based API surface. Since
`1.5.1` does not contain
`@StableApi`, the first diff is noisy and mostly shows the seeded API
surface as new. After a
release contains the annotations, future diffs should be normal
compatibility diffs.

The workflow does not post PR comments or upload artifacts. If the check
fails, run this locally:

```bash
mise run api-diff
```

Reports are written to `**/target/japicmp/*`.

Intentional incompatible changes can be accepted by adding the PR label
`breaking-api-change-accepted`.

## Validation

- `mise run api-diff`
- `mise run build`
- `mise run lint`

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
… to v6.1.0 (#2128)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [org.junit:junit-bom](https://junit.org/)
([source](https://redirect.github.com/junit-team/junit-framework)) |
`6.0.3` → `6.1.0` |
![age](https://developer.mend.io/api/mc/badges/age/maven/org.junit:junit-bom/6.1.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.junit:junit-bom/6.0.3/6.1.0?slim=true)
|
| [org.junit.jupiter:junit-jupiter-params](https://junit.org/)
([source](https://redirect.github.com/junit-team/junit-framework)) |
`6.0.3` → `6.1.0` |
![age](https://developer.mend.io/api/mc/badges/age/maven/org.junit.jupiter:junit-jupiter-params/6.1.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.junit.jupiter:junit-jupiter-params/6.0.3/6.1.0?slim=true)
|
| [org.junit.jupiter:junit-jupiter](https://junit.org/)
([source](https://redirect.github.com/junit-team/junit-framework)) |
`6.0.3` → `6.1.0` |
![age](https://developer.mend.io/api/mc/badges/age/maven/org.junit.jupiter:junit-jupiter/6.1.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.junit.jupiter:junit-jupiter/6.0.3/6.1.0?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xODUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwNi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Draft validation PR for the unmodified JMX Exporter compatibility story.

This intentionally does **not** depend on #2114. Vanilla JMX Exporter
does not
use the typed descriptor API, so this PR validates the patch-compatible
path
independently of typed descriptors.

This validates upstream `prometheus/jmx_exporter@main` against current
`client_java` by installing local `io.prometheus` artifacts and running
the JMX
Exporter collector/common/javaagent/standalone Maven tests against them.

Local validation:

- `mise run jmx-exporter:test`
- `mise run lint:fix`
- `mise run lint`
- `actionlint .github/workflows/jmx-exporter-compatibility.yml`

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Co-authored-by: Doug Hoard <dhoard@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[github/codeql-action](https://redirect.github.com/github/codeql-action)
| action | patch | `v4.36.0` → `v4.36.1` |

---

### Release Notes

<details>
<summary>github/codeql-action (github/codeql-action)</summary>

###
[`v4.36.1`](https://redirect.github.com/github/codeql-action/compare/v4.36.0...v4.36.1)

[Compare
Source](https://redirect.github.com/github/codeql-action/compare/v4.36.0...v4.36.1)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDYuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwNi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…2172)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[grafana/docker-otel-lgtm](https://redirect.github.com/grafana/docker-otel-lgtm)
| minor | `0.25.0` → `0.28.0` |

---

### Release Notes

<details>
<summary>grafana/docker-otel-lgtm (grafana/docker-otel-lgtm)</summary>

###
[`v0.28.0`](https://redirect.github.com/grafana/docker-otel-lgtm/releases/tag/v0.28.0)

[Compare
Source](https://redirect.github.com/grafana/docker-otel-lgtm/compare/v0.27.1...v0.28.0)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### OpenTelemetry & LGTM

- chore(deps): update dependency pyroscope to v2.0.2 by
[@&#8203;renovate-sh-app](https://redirect.github.com/renovate-sh-app)\[bot]
in
[#&#8203;1377](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1377)
- chore(deps): update dependency obi to v0.9.0 by
[@&#8203;renovate-sh-app](https://redirect.github.com/renovate-sh-app)\[bot]
in
[#&#8203;1394](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1394)

##### Other Changes

- chore: upgrade flint to v0.22.2 by
[@&#8203;zeitlinger](https://redirect.github.com/zeitlinger) in
[#&#8203;1384](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1384)
- Disable npm install scripts by
[@&#8203;martincostello](https://redirect.github.com/martincostello) in
[#&#8203;1387](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1387)

**Full Changelog**:
<grafana/docker-otel-lgtm@v0.27.1...v0.28.0>

###
[`v0.27.1`](https://redirect.github.com/grafana/docker-otel-lgtm/releases/tag/v0.27.1)

[Compare
Source](https://redirect.github.com/grafana/docker-otel-lgtm/compare/v0.27.0...v0.27.1)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Other Changes

- chore: upgrade lychee to v0.24.2 by
[@&#8203;zeitlinger](https://redirect.github.com/zeitlinger) in
[#&#8203;1360](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1360)

**Full Changelog**:
<grafana/docker-otel-lgtm@v0.27.0...v0.27.1>

###
[`v0.27.0`](https://redirect.github.com/grafana/docker-otel-lgtm/releases/tag/v0.27.0)

[Compare
Source](https://redirect.github.com/grafana/docker-otel-lgtm/compare/v0.26.0...v0.27.0)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### OpenTelemetry & LGTM

- chore(deps): update dependency tempo to v2.10.5 by
[@&#8203;renovate-sh-app](https://redirect.github.com/renovate-sh-app)\[bot]
in
[#&#8203;1329](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1329)
- chore(deps): update dependency prometheus to v3.11.3 by
[@&#8203;renovate-sh-app](https://redirect.github.com/renovate-sh-app)\[bot]
in
[#&#8203;1341](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1341)
- chore(deps): update dependency opentelemetry-collector to v0.151.0 by
[@&#8203;renovate-sh-app](https://redirect.github.com/renovate-sh-app)\[bot]
in
[#&#8203;1347](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1347)

##### Other Changes

- chore: update flint to 0.21.0 by
[@&#8203;zeitlinger](https://redirect.github.com/zeitlinger) in
[#&#8203;1317](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1317)
- Update shell script shebang paths by
[@&#8203;martincostello](https://redirect.github.com/martincostello) in
[#&#8203;1335](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1335)
- chore: follow up to
[#&#8203;1317](https://redirect.github.com/grafana/docker-otel-lgtm/issues/1317)
by [@&#8203;zeitlinger](https://redirect.github.com/zeitlinger) in
[#&#8203;1337](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1337)
- chore(deps): update dependency npm:renovate to v43.150.0 by
[@&#8203;zeitlinger](https://redirect.github.com/zeitlinger) in
[#&#8203;1344](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1344)

**Full Changelog**:
<grafana/docker-otel-lgtm@v0.26.0...v0.27.0>

###
[`v0.26.0`](https://redirect.github.com/grafana/docker-otel-lgtm/releases/tag/v0.26.0)

[Compare
Source](https://redirect.github.com/grafana/docker-otel-lgtm/compare/v0.25.0...v0.26.0)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### OpenTelemetry & LGTM

- chore(deps): update dependency obi to v0.8.0 by
[@&#8203;renovate-sh-app](https://redirect.github.com/renovate-sh-app)\[bot]
in
[#&#8203;1295](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1295)
- chore(deps): update dependency pyroscope to v1.20.4 by
[@&#8203;renovate-sh-app](https://redirect.github.com/renovate-sh-app)\[bot]
in
[#&#8203;1294](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1294)
- chore(deps): update dependency pyroscope to v1.21.0 by
[@&#8203;renovate-sh-app](https://redirect.github.com/renovate-sh-app)\[bot]
in
[#&#8203;1304](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1304)
- chore(deps): update dependency grafana to v13 by
[@&#8203;renovate-sh-app](https://redirect.github.com/renovate-sh-app)\[bot]
in
[#&#8203;1305](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1305)
- chore(deps): update dependency pyroscope to v2 by
[@&#8203;renovate-sh-app](https://redirect.github.com/renovate-sh-app)\[bot]
in
[#&#8203;1309](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1309)

##### Other Changes

- feat: migrate to flint v2 by
[@&#8203;zeitlinger](https://redirect.github.com/zeitlinger) in
[#&#8203;1243](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1243)
- chore: fix flint baseline failures by
[@&#8203;zeitlinger](https://redirect.github.com/zeitlinger) in
[#&#8203;1315](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1315)
- ci: skip PR Docker cache export by
[@&#8203;zeitlinger](https://redirect.github.com/zeitlinger) in
[#&#8203;1316](https://redirect.github.com/grafana/docker-otel-lgtm/pull/1316)

**Full Changelog**:
<grafana/docker-otel-lgtm@v0.25.0...v0.26.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDYuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwNi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [org.eclipse.jetty.ee10:jetty-ee10-servlet](https://jetty.org)
([source](https://redirect.github.com/jetty/jetty.project)) | `12.1.9` →
`12.1.10` |
![age](https://developer.mend.io/api/mc/badges/age/maven/org.eclipse.jetty.ee10:jetty-ee10-servlet/12.1.10?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.eclipse.jetty.ee10:jetty-ee10-servlet/12.1.9/12.1.10?slim=true)
|
| [org.eclipse.jetty:jetty-server](https://jetty.org)
([source](https://redirect.github.com/jetty/jetty.project)) | `12.1.9` →
`12.1.10` |
![age](https://developer.mend.io/api/mc/badges/age/maven/org.eclipse.jetty:jetty-server/12.1.10?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.eclipse.jetty:jetty-server/12.1.9/12.1.10?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDYuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwNi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
…idiffs (#2174)

## Summary

Fixes the manual-bump drift in the api-diff baseline (#2170) and makes
API changes visible in review.

- **Single source of truth.** The baseline lives only in the
`<api.diff.baseline.version>` pom property (bumped from the
already-drifted `1.5.1` to the actual latest release `1.6.1`).
`mise.toml` and `api-diff.yml` no longer hardcode it.
- **Renovate owns the bump.** A custom regex manager tracks the latest
*published* `io.prometheus:prometheus-metrics-core` on Maven Central and
bumps the property on the `renovate/api-diff-baseline` branch. Because
Renovate only proposes published versions, there is no Maven Central
propagation race and no post-release workflow or app token needed.
- **Diffs committed to `docs/apidiffs/`.** `mise run api-diff` syncs the
japicmp per-module reports into `docs/apidiffs/<module>.diff` via
`.github/scripts/sync-api-diffs.sh`, stripping the volatile preamble so
files only churn on real API changes. The api-diff workflow fails if
they are stale, so every API change shows up in the PR diff.
- **Regeneration on bump.** `generate-api-diff-baseline.yml` regenerates
`docs/apidiffs` on the Renovate branch and pushes it back, mirroring
`generate-protobuf.yml`.
- `docs/apidiffs/**` is marked `linguist-generated` so flint skips it.

## Notes

- The seed diffs are large because `1.6.1` predates `@StableApi` (the
bootstrap noise documented in #2168). They shrink to near-empty once a
release contains the annotations.
- Like the protobuf flow, a `GITHUB_TOKEN` push doesn't re-trigger CI —
close/reopen the Renovate bump PR to run the api-diff check after
regeneration (noted in the workflow).

## Validation

- `mise run api-diff` (generates the 25 seed diffs; verified idempotent)
- `mise run lint`
- `renovate-config-validator --strict`, actionlint, zizmor

Closes #2170

## Also fixes a pre-existing compat-test break on `main`

`micrometer-compatibility` and `jmx-exporter-compatibility` fail on
`main` (e.g.
[#2173](#2173)), unrelated
to this change. The compat harness installs local artifacts with
`-Dmaven.test.skip=true`, which skips building the `*:test-jar`
artifacts that the `activeByDefault` `default` profiles declare as test
dependencies, breaking resolution (e.g.
`prometheus-metrics-exposition-textformats:jar:tests`).

Fixed by deactivating those profiles in the compat install (`-P
!default`), matching what the release task already does (`-P
release,!default`). Verified locally: full `mvnw install
-Dmaven.test.skip=true -P !default` → BUILD SUCCESS.

## Reviewer note: the seed diffs show the full stable surface (expected)

The committed `docs/apidiffs/current_vs_latest/*.txt` list the
**entire** `@StableApi` surface as additions, not a small delta. This is
the documented bootstrap state from #2168, not a bug:

- The japicmp include filter is
`@io.prometheus.metrics.annotations.StableApi`. The baseline `1.6.1` jar
predates `@StableApi`, so its filtered surface is empty → every
annotated class in current code registers as "NEW". The header genuinely
compares against the `1.6.1` jar; the annotation filter is what makes
everything look added.
- Verified the filter is correct: only `@StableApi`-annotated types
appear (non-stable classes like `CKMSQuantiles`/`Buffer` are excluded;
`CallbackMetric` shows only as an inherited `NEW SUPERCLASS` reference).
It is the same root cause as the `breaking-api-change-accepted` label on
this PR.

It self-corrects after the next release ships `@StableApi`: Renovate
bumps the baseline to that release, the bump workflow regenerates
`current_vs_latest/` as an annotated-vs-annotated (near-empty) diff, and
the archived `<new>_vs_<old>/` becomes the first real release diff. So
the current files are best read as a one-time record of the initial
declared stable API surface.

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [grafana/grafana](https://redirect.github.com/grafana/grafana) | patch
| `13.0.1` → `13.0.2` |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | patch | `v6.0.2` → `v6.0.3` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

###
[`v6.0.3`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v603)

[Compare
Source](https://redirect.github.com/actions/checkout/compare/v6.0.2...v6.0.3)

- Fix checkout init for SHA-256 repositories by
[@&#8203;yaananth](https://redirect.github.com/yaananth) in
[#&#8203;2439](https://redirect.github.com/actions/checkout/pull/2439)
- fix: expand merge commit SHA regex and add SHA-256 test cases by
[@&#8203;yaananth](https://redirect.github.com/yaananth) in
[#&#8203;2414](https://redirect.github.com/actions/checkout/pull/2414)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Follow-up to #2167 ([review
comment](#2167 (comment))):
switches the JMX Exporter compatibility job to the **quick test**
configuration and fixes the gaps that surfaced.

**Changes**

- **Quick test config** (`jmx_exporter_compat.py`): build the full
reactor (`clean install`) so `integration_test_suite` actually runs,
pinned to a single Java + Prometheus distribution. The pins are read
from the checked-out jmx_exporter's `run-quick-test.sh` so they stay
aligned with upstream; `-Dparamixel.parallelism` set to CPU count.
- **Test `main`, not the release**: the integration suite only compiles
against current `client_java` when jmx_exporter imports the stable
`expositionformats.generated.Metrics` class (#1873). Release 1.5.0
imports the version-stamped `com_google_protobuf_4_32_0` package
directly, which breaks on protobuf bumps (now 4.35.0); `main` uses the
stable class. Tracked by #2179 — switch the ref back to a pinned release
once one ships the fix.
- **Renovate guard** (`renovate.json5`): block major JDK bumps for the
jmx-exporter and micrometer compat env files (they pin an LTS JDK the
upstream release supports). This supersedes #2173-style bumps.

**Local validation**: `mise run lint:fix`; image-pin regex verified
against `prometheus/jmx_exporter@main`. Full integration run is
validated by CI (needs Docker + JDK 21).

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Draft validation PR for the downstream opt-in path.

Depends on #2114 for the typed descriptor implementation. This branch is
stacked on the #2114 head, so once #2114 lands this PR should shrink to
only the Micrometer opt-in compatibility tooling.

This validates Micrometer using the new descriptor API, defaulting to:

- `MICROMETER_REPOSITORY=zeitlinger/micrometer`
- `MICROMETER_REF=feat/prometheus-client-opt-in`

That Micrometer branch provides `MetricFamilyDescriptor` metadata from
the Prometheus registry without invoking scrape/sample callbacks during
registration.

Local validation:

- `mise run lint`
- `MICROMETER_DIR=/tmp/micrometer-compat-optin mise run micrometer:test`

---------

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
🤖 I have created a release *beep* *boop*
---

##
[1.7.0](v1.6.1...v1.7.0)
(2026-06-03)

### Features

* Add StableApi marker and API diff check
([#2168](#2168))
([768fd3a](768fd3a))
* add typed metric family descriptors
([#2114](#2114))
([9c3b097](9c3b097))
* track api-diff baseline via Renovate and store diffs in docs/apidiffs
([#2174](#2174))
([3adb890](3adb890))

### Bug Fixes

* **deps:** update dependency com.github.ben-manes.caffeine:caffeine to
v3.2.4 ([#2088](#2088))
([144eb61](144eb61))
* **deps:** update dependency io.dropwizard.metrics:metrics-core to
v4.2.39 ([#2139](#2139))
([5817d13](5817d13))
* **deps:** update dependency io.dropwizard.metrics5:metrics-core to
v5.0.7 ([#2140](#2140))
([261c451](261c451))
* **deps:** update dependency
io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha
to v2.28.0-alpha
([#2126](#2126))
([b62b5d0](b62b5d0))
* **deps:** update dependency
io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha
to v2.28.0-alpha
([#2127](#2127))
([e11ce3d](e11ce3d))
* **deps:** update dependency
io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha
to v2.28.1-alpha
([#2132](#2132))
([b09be38](b09be38))
* **deps:** update dependency
io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha
to v2.28.1-alpha
([#2133](#2133))
([a241c16](a241c16))
* **deps:** update dependency org.apache.tomcat.embed:tomcat-embed-core
to v11.0.22
([#2099](#2099))
([22125c5](22125c5))
* **deps:** update jetty monorepo to v12.1.10
([#2169](#2169))
([ddd3991](ddd3991))
* **deps:** update jetty monorepo to v12.1.9
([#2102](#2102))
([04bee70](04bee70))
* **deps:** update protobuf
([#2129](#2129))
([320538a](320538a))
* Reduce allocations for classic histogram buckets
([#2081](#2081))
([edd160a](edd160a))
* restore legacy suffix compatibility
([#2100](#2100))
([b2ae70f](b2ae70f))
* restore reserved suffix stripping in
`PrometheusNaming.sanitizeMetricName()`
([#2124](#2124))
([2d0f508](2d0f508))

### Performance Improvements

* Refactored sorting to use optimized sort algorithms
([#2161](#2161))
([25b94fc](25b94fc))

### Documentation

* clarify downstream adapter validation requirements
([#2101](#2101))
([ef8c75c](ef8c75c))
* Document OM2
([#2059](#2059))
([45d753c](45d753c))
* document PushGateway shading workaround
([#2106](#2106))
([8ca0eb8](8ca0eb8))

---
> [!IMPORTANT]
> Close and reopen this PR to trigger CI checks.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
🤖 I have created a release *beep* *boop*
---

### Updating meta-information for bleeding-edge SNAPSHOT release.

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[io.prometheus:prometheus-metrics-core](https://redirect.github.com/prometheus/client_java)
| `1.6.1` → `1.7.0` |
![age](https://developer.mend.io/api/mc/badges/age/maven/io.prometheus:prometheus-metrics-core/1.7.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.prometheus:prometheus-metrics-core/1.6.1/1.7.0?slim=true)
|

---

### Release Notes

<details>
<summary>prometheus/client_java
(io.prometheus:prometheus-metrics-core)</summary>

###
[`v1.7.0`](https://redirect.github.com/prometheus/client_java/blob/HEAD/CHANGELOG.md#170-2026-06-03)

##### Features

- Add StableApi marker and API diff check
([#&#8203;2168](https://redirect.github.com/prometheus/client_java/issues/2168))
([768fd3a](https://redirect.github.com/prometheus/client_java/commit/768fd3a7aab5f11f3558a35c0d6257b5a217a078))
- add typed metric family descriptors
([#&#8203;2114](https://redirect.github.com/prometheus/client_java/issues/2114))
([9c3b097](https://redirect.github.com/prometheus/client_java/commit/9c3b097f6842ffc08fb3a2ed00217c73a6c2b191))
- track api-diff baseline via Renovate and store diffs in docs/apidiffs
([#&#8203;2174](https://redirect.github.com/prometheus/client_java/issues/2174))
([3adb890](https://redirect.github.com/prometheus/client_java/commit/3adb89078df4bf3d7739886612d4cf051176a6f3))

##### Bug Fixes

- **deps:** update dependency com.github.ben-manes.caffeine:caffeine to
v3.2.4
([#&#8203;2088](https://redirect.github.com/prometheus/client_java/issues/2088))
([144eb61](https://redirect.github.com/prometheus/client_java/commit/144eb61030d412afe83631b8f341d2cb1595ab1c))
- **deps:** update dependency io.dropwizard.metrics:metrics-core to
v4.2.39
([#&#8203;2139](https://redirect.github.com/prometheus/client_java/issues/2139))
([5817d13](https://redirect.github.com/prometheus/client_java/commit/5817d1395dc348b6634ea169264fd13f4ad56e82))
- **deps:** update dependency io.dropwizard.metrics5:metrics-core to
v5.0.7
([#&#8203;2140](https://redirect.github.com/prometheus/client_java/issues/2140))
([261c451](https://redirect.github.com/prometheus/client_java/commit/261c4510eefe156ad688e019b9239cfcfd39bd2b))
- **deps:** update dependency
io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha
to v2.28.0-alpha
([#&#8203;2126](https://redirect.github.com/prometheus/client_java/issues/2126))
([b62b5d0](https://redirect.github.com/prometheus/client_java/commit/b62b5d0ab4b8d3a1335286bd3d36e8c9ac5aa269))
- **deps:** update dependency
io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha
to v2.28.0-alpha
([#&#8203;2127](https://redirect.github.com/prometheus/client_java/issues/2127))
([e11ce3d](https://redirect.github.com/prometheus/client_java/commit/e11ce3de19daf5acd2f73ffb90c96689c172f3c3))
- **deps:** update dependency
io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha
to v2.28.1-alpha
([#&#8203;2132](https://redirect.github.com/prometheus/client_java/issues/2132))
([b09be38](https://redirect.github.com/prometheus/client_java/commit/b09be3882f0ad95ff299db41d706a2e52faa7525))
- **deps:** update dependency
io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha
to v2.28.1-alpha
([#&#8203;2133](https://redirect.github.com/prometheus/client_java/issues/2133))
([a241c16](https://redirect.github.com/prometheus/client_java/commit/a241c165927d3cbb91b97eedd52de9c9eff595d0))
- **deps:** update dependency org.apache.tomcat.embed:tomcat-embed-core
to v11.0.22
([#&#8203;2099](https://redirect.github.com/prometheus/client_java/issues/2099))
([22125c5](https://redirect.github.com/prometheus/client_java/commit/22125c5f531467030793fc48cb2308ff14bbcaa7))
- **deps:** update jetty monorepo to v12.1.10
([#&#8203;2169](https://redirect.github.com/prometheus/client_java/issues/2169))
([ddd3991](https://redirect.github.com/prometheus/client_java/commit/ddd3991096d409a3e58ae2003ce13457a51b8876))
- **deps:** update jetty monorepo to v12.1.9
([#&#8203;2102](https://redirect.github.com/prometheus/client_java/issues/2102))
([04bee70](https://redirect.github.com/prometheus/client_java/commit/04bee70efff866f8c4966643926905c28a4eae3a))
- **deps:** update protobuf
([#&#8203;2129](https://redirect.github.com/prometheus/client_java/issues/2129))
([320538a](https://redirect.github.com/prometheus/client_java/commit/320538a09efad128c6d80bcc3d6eecca394603db))
- Reduce allocations for classic histogram buckets
([#&#8203;2081](https://redirect.github.com/prometheus/client_java/issues/2081))
([edd160a](https://redirect.github.com/prometheus/client_java/commit/edd160ab93254c80250d7cf58a1dcb399fef67a1))
- restore legacy suffix compatibility
([#&#8203;2100](https://redirect.github.com/prometheus/client_java/issues/2100))
([b2ae70f](https://redirect.github.com/prometheus/client_java/commit/b2ae70ffd4ac0830fb567319beae9d1c3ad8bc2f))
- restore reserved suffix stripping in
`PrometheusNaming.sanitizeMetricName()`
([#&#8203;2124](https://redirect.github.com/prometheus/client_java/issues/2124))
([2d0f508](https://redirect.github.com/prometheus/client_java/commit/2d0f508efd2f5e009b6f09f6a9ccb451cf9f3b6f))

##### Performance Improvements

- Refactored sorting to use optimized sort algorithms
([#&#8203;2161](https://redirect.github.com/prometheus/client_java/issues/2161))
([25b94fc](https://redirect.github.com/prometheus/client_java/commit/25b94fc16273659892af0132cedb71f57597adf7))

##### Documentation

- clarify downstream adapter validation requirements
([#&#8203;2101](https://redirect.github.com/prometheus/client_java/issues/2101))
([ef8c75c](https://redirect.github.com/prometheus/client_java/commit/ef8c75cf352bddd0d3a2052c3f1b0c8b6103a6f4))
- Document OM2
([#&#8203;2059](https://redirect.github.com/prometheus/client_java/issues/2059))
([45d753c](https://redirect.github.com/prometheus/client_java/commit/45d753c418f005fbb17bf7caca3dc94655717687))
- document PushGateway shading workaround
([#&#8203;2106](https://redirect.github.com/prometheus/client_java/issues/2106))
([8ca0eb8](https://redirect.github.com/prometheus/client_java/commit/8ca0eb8d79b800ad8d7a08f10762ed631f4f2a70))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuNCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout)
([changelog](https://redirect.github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd..df4cb1c069e1874edd31b4311f1884172cec0e10))
| action | digest | `de0fac2` → `df4cb1c` |

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | patch | `v6.0.2` → `v6.0.3` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

###
[`v6.0.3`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v603)

[Compare
Source](https://redirect.github.com/actions/checkout/compare/v6.0.2...v6.0.3)

- Fix checkout init for SHA-256 repositories by
[@&#8203;yaananth](https://redirect.github.com/yaananth) in
[#&#8203;2439](https://redirect.github.com/actions/checkout/pull/2439)
- fix: expand merge commit SHA regex and add SHA-256 test cases by
[@&#8203;yaananth](https://redirect.github.com/yaananth) in
[#&#8203;2414](https://redirect.github.com/actions/checkout/pull/2414)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled because a matching PR was automerged
previously.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/prometheus/client_java).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuNCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Signed-off-by: Jay DeLuca <jaydeluca4@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Is it possible to add a custom metadata identifier when using Exemplars?

5 participants